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

时间:2011-09-26 11:45:24

标签: java hadoop hbase

我正在编写Hadoop / HBase作业。我需要将Java String转换为字节数组。 Java String.getBytes()和Hadoop Bytes.toBytes()之间是否存在差异?

2 个答案:

答案 0 :(得分:22)

根据its documentation Bytes.toBytes()使用UTF-8将参数转换为byte[]

String.getBytes() (without arguments)会使用平台默认编码将String转换为byte[]。该编码可能因操作系统和用户设置而异。通常应避免使用该方法。

您可以使用String.getBytes(String)(或the Charset variant指定要使用的编码。

答案 1 :(得分:8)

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

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

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