2014-08-31 2 views
0

В Java, если я создаю OutputStreamWriter используя кодировку UTF-16, делает Java предписывают порядок байтов по умолчанию (UTF-16BE или UTF-16LE), или зависит от используемой операционной системы по умолчанию.Java OutputStreamWriter по умолчанию порядок байт

Примечание: Я видел другие утверждают, что по умолчанию UTF-16BE, ссылаясь на Charset API documentation, но моя интерпретация указанной документации является то, что она относится к интерпретации входного потока UTF-16 без BOM, и ничего не говорит о требуемое поведение (если оно есть) OutputStreamWriter с использованием UTF-16 при отсутствии заданной консистенции .

ответ

1

Док указывает, что использование UTF-16:

При декодировании, то в UTF-16 кодировке интерпретирует метку порядка байтов в начале входного потока для указания порядка байтов потока, но по умолчанию используется big-endian, если нет байтового байта; при кодировании он использует порядок байтов байтов и записывает знак байтового байта большого конца.

+0

Ничего себе, я, должно быть, устал сегодня утром и пропустил эту часть. Спасибо что подметил это. –

Смежные вопросы