欢迎,
我有一个 byte[]
,它是 String
的二进制表示形式。我想替换这个 String
的一部分并取回新的 byte[]
!
我尝试过:
String string = new String(array);
string = string.replace("#+#","SOME STRING");
array = string.getBytes();
问题是数组之后的数组有所不同,而不仅仅是因为替换。
数组的内容是用“#+#”分隔的序列化对象。
最佳答案
明确您正在使用的字符编码,并使用诸如“Latin-1”之类的编码,其中所有字节序列都映射到有效的 Unicode 字符:
String string = new String(array, "Latin-1");
string = string.replace("#+#","SOME STRING");
array = string.getBytes("Latin-1");
关于java - 替换 byte[] 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43763756/