Я пишу работу Hadoop/HBase. Мне нужно было преобразовать Java String
в массив байтов. Существуют ли различия между Java String.getBytes()
и Hadoop Bytes.toBytes()
?
Разница между String.getBytes() и Bytes.toBytes(данные String)
Ответ 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, если вы хотите что-то знать.;)