java - 替换 byte[] 中的字符串

标签 java arrays string byte

欢迎,
我有一个 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/

相关文章:

c# - Switch 语句字符串匹配但不起作用

python - 在opencv中从caffe中读取多维数组(C++)

c++ - 使用 sstream 将 std::string 转换为 int

python - 如何防止字符串之间的空格大小不同?

java - 使用 Log4j 创建 Uber/Fat Jars

java - 使用枚举作为参数

java - 请帮助我在我的 Java 应用程序中过滤掉 Apache Log4j 的第三方日志记录

java - 探索pdf中的水平解析TJ(对tx公式的详细了解)?

java - java中如何将2Darray转换为2D ArrayList?

python - 如何在保留空行的同时拆分?