Подтвердить что ты не робот

Разница между String.getBytes() и Bytes.toBytes(данные String)

Я пишу работу Hadoop/HBase. Мне нужно было преобразовать Java String в массив байтов. Существуют ли различия между Java String.getBytes() и Hadoop Bytes.toBytes()?

4b9b3361

Ответ 1

В соответствии с его документация Bytes.toBytes() преобразует параметр в byte[] с использованием UTF-8.

String.getBytes() (без аргументов) преобразует String в byte[], используя стандартную кодировку платформы. Эта кодировка может варьироваться в зависимости от ОС и пользовательских настроек. Обычно следует избегать использования этого метода.

Вы можете использовать String.getBytes(String) (или вариант Charset), чтобы указать кодировку для.

Ответ 2

Чтение Javadoc, кажется, что String.getBytes() возвращает byte[] с использованием кодировки по умолчанию, а Bytes.toBytes() возвращает byte[] с помощью UTF-8

Это может быть одно и то же, но может и не быть.

Всегда полезно читать Javadoc, если вы хотите что-то знать.;)