替换byte []中的字符串

时间:2017-05-03 15:03:50

标签: java arrays string byte

欢迎,
我有一个byte[],它是String的二进制表示。我想替换此String的一部分并取回新的byte[]
我试过了:

String string = new String(array);
string = string.replace("#+#","SOME STRING");
array = string.getBytes();

问题是数组之后的数组是不同的,不仅仅是因为替换。
数组的内容是用"#+#"分隔的序列化对象。

1 个答案:

答案 0 :(得分:2)

明确您正在使用的字符编码,并使用" Latin-1"等编码。其中所有字节序列都映射到有效的Unicode字符:

String string = new String(array, "Latin-1");
string = string.replace("#+#","SOME STRING");
array = string.getBytes("Latin-1");