欢迎,
我有一个byte[]
,它是String
的二进制表示。我想替换此String
的一部分并取回新的byte[]
!
我试过了:
String string = new String(array);
string = string.replace("#+#","SOME STRING");
array = string.getBytes();
问题是数组之后的数组是不同的,不仅仅是因为替换。
数组的内容是用"#+#"分隔的序列化对象。
答案 0 :(得分:2)
明确您正在使用的字符编码,并使用" Latin-1"等编码。其中所有字节序列都映射到有效的Unicode字符:
String string = new String(array, "Latin-1");
string = string.replace("#+#","SOME STRING");
array = string.getBytes("Latin-1");