JAVA,String到字节数组字节大小

时间:2016-12-07 11:04:14

标签: java arrays byte

我将字节数组转换为字符串并返回时遇到问题:)我从api获得了10字节长的字节数组。当我将它转换为字符串i" m得到带有20个字符的字符串,例如" 12345678901234567890"所以看起来一个字节上有2个字符。但是,当我尝试使用editText中的getText()发送回来时:

String namespace = mNamespaceTv.getText().toString();

从该字符串创建的字节数组长度为20个字节,因此一个字符到一个字节。我需要将其作为10字节数组再次发回。为什么会这样?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您要问的是什么并不是很清楚,但请考虑从String生成的字节数组的大小取决于使用的Charset。

例如:

"ABC".getBytes("UTF-16")   --> array of size 8
"ABC".getBytes("UTF-8")    --> array of size 3
"ABC".getBytes("US-ASCII") --> array of size 3

答案 1 :(得分:0)

如果是byte[]使用new String(mNamespaceTv.getText())而不是toString()