Начало UTF8 символов File повреждает сериализатор и средства чтения

Можно также использовать xargs. Просто передайте вывод по каналу ls до xargs.

ls | xargs

, Если это не работает и эти , находят , примеры выше не работают, пытаются передать их по каналу к xargs, поскольку он может помочь использованию памяти, которое могло бы вызывать Ваши проблемы.

5
задан alexandrul 23 November 2009 в 07:14
поделиться

3 ответа

Да, это две спецификации. Вы кодируете в UTF-8 дважды и каждый раз добавляете псевдо-спецификацию из-за того крайне неудачного факта, что:

Encoding.UTF8

означает «UTF-8 с бессмысленным, бессмысленным U + FEFF, прикрепленным спереди, чтобы испортить ваш Приложения". Попробуйте вместо этого использовать

new UTF8Encoding(false)

, который даст вам менее отстойную версию .

10
ответ дан 13 December 2019 в 05:37
поделиться

Да, это спецификация.

Да, в некоторых старых JDK была ошибка, которая взорвалась с данными спецификации UTF-8. И два из них запутают даже современную версию Java.

Решение, которое я использовал, заключалось в том, чтобы вставить обратный поток на передний план и отфильтровать его.

Или использовать более современную версию Java.

1
ответ дан 13 December 2019 в 05:37
поделиться

Последовательность байтов 0xEF 0xBB 0xBF является кодировкой UTF-8 для U + FEFF, которая является спецификацией Unicode (метка порядка байтов). Это не нужно в UTF-8 , но важно в UTF-16 или UTF-32.

У вас есть одна и та же последовательность дважды.

Единственное, что можно с ними сделать, - это игнорировать и / или удалить их.

1
ответ дан 13 December 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: