是否可以将字节数组转换为字符串,但字符串的长度与数组中的字节数完全相同?如果我使用以下内容:将字节数组转换为字符串的字节数
byte[] data; // Fill it with data
data.toString();
字符串的长度不同于数组的长度。我相信这是因为Java和/或Android考虑了某种默认编码。数组中的值也可以是负值。理论上应该可以将任何字节转换为某个字符。我想我需要弄清楚如何指定一个编码,为每个字符生成一个固定的单字节宽度。
编辑:
我尝试以下,但它没有工作:
byte[] textArray; // Fill this with some text.
String textString = new String(textArray, "ASCII");
textArray = textString.getBytes("ASCII"); // textArray ends up with different data.
转换为Base64并从Base64转换,如下面的帖子所示。 http://stackoverflow.com/a/7360440/753632 – AndroidDev
是的,为什么不使用Base64?它更安全,因为有些字节可能无法使用String正确表示。使用Base64进行编码/解码是最佳做法 - 我想 - – Yazan