我将字节数组转换为字符串并返回时遇到问题:)我从api获得了10字节长的字节数组。当我将它转换为字符串i" m得到带有20个字符的字符串,例如" 12345678901234567890"所以看起来一个字节上有2个字符。但是,当我尝试使用editText中的getText()发送回来时:
String namespace = mNamespaceTv.getText().toString();
从该字符串创建的字节数组长度为20个字节,因此一个字符到一个字节。我需要将其作为10字节数组再次发回。为什么会这样?我该如何解决这个问题?
答案 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()