String.getBytes()和Bytes.toBytes(字符串数据)之间的区别

vic*_*que 17 java hadoop hbase

我正在编写Hadoop/HBase作业.我需要将Java String转换为字节数组.Java String.getBytes()和Hadoop 之间有什么区别Bytes.toBytes()吗?

Joa*_*uer 23

根据其文档,Bytes.toBytes()将参数转换为byte[]使用UTF-8.

String.getBytes()(不带参数)将转换Stringbyte[]使用平台默认的编码.该编码可能因操作系统和用户设置而异.通常应避免使用该方法.

你可以使用String.getBytes(String)(或Charset变异体)来指定要使用的编码.


Pet*_*rey 8

读取Javadoc,看起来byte[]String.getBytes()使用默认编码返回a ,而Bytes.toBytes()返回一个byte[]使用UTF-8

这可能是一回事,但可能不是.

如果你想知道什么,它总是有用的阅读Javadoc.;)