我必须将一些包含本地化值的字符串保存到字节数组中。
然后我必须从字节数组中重建字符串
我将字符串编码为字节数组,如下所示:
byte addr = 0x08;
for (String s : values) {
char[] dataBytes = s.toCharArray();
int length = s.length();
for (int i = 0; i < 4; i++) {
byte[] buffer = new byte[4];
for (int j = 0; j < 4; j++) {
if(i * 4 + j < length ) {
buffer[j] = (byte) Character.codePointAt(dataBytes, i * 4 + j);
} else {
buffer[j] = (byte) 0;
}
}
nfcHandler.write(buffer, addr);
addr++;
TimeUnit.MILLISECONDS.sleep(10);
}
}
如何重建字符串?我已经尝试过
new String(bytes, StandardCharsets.UTF_8);
和
bytes.toString();
但都不起作用。
有什么想法要完成吗?
请帮助.. !!!
答案 0 :(得分:0)
将字节数组解码为String
的方式很好,但是在编码方面您做了太多工作。请改用String.getBytes()
方法:
byte[] buffer = s.getBytes(StandardCharsets.UTF_8);
// use buffer at needed...