I'm writing a Hadoop/HBase job. I needed to transform a Java String
into a byte array. Is there any differences between Java's String.getBytes()
and Hadoop's Bytes.toBytes()
?
According to its documentation Bytes.toBytes()
converts the parameter to a byte[]
using UTF-8.
String.getBytes()
(without arguments) will convert the String
to byte[]
using the platform default encoding. That encoding can vary depending on the OS and user settings. Use of that method should generally be avoided.
You could use String.getBytes(String)
(or the Charset
variant) to specify the encoding to be used.