我有一个字节数组b:
b = [-98, -99]
我需要将这段数据传递给一个函数。该函数接受一个字符串(这是不可更改的)。如何让 Java 将 b 中的原始二进制数据解释为字符串而不更改 b 中的任何位
编辑
这不是重复:
因为,数组 b 由位 [1001 1110 1001 1101] 或 [9E9D] 组成。如果我使用
String str = new String(b, "Cp1252")
Cp1252 编码没有位 1001 1101 或 9D 的序列值。所以这个函数导致 str = "ž?"。二进制形式是 [1001 1110 0011 1111] 或 [9E3F]。请注意,该函数更改了我的位,这实际上破坏了我的数据。
我认为这将在 C++ 中使用重新解释转换来完成,但在 java 中不存在这样的东西。提前致谢。