【发布时间】:2017-01-12 12:29:42
【问题描述】:
我的问题是,是否有任何捷径可以使用标准 java-library-functions 将字符串转换为字节数组? “字符串”确实有NO ENCODING,字符串本身就是一个字符串,但这是我得到它的方式。我自己没有编写代码,我无法更改它,但我必须处理它。标准的String.getBytes() 将不起作用,因为某些值总是得到“?”-ed 并且使底层二进制数据明显无用。
有什么想法吗?
这与这里的问题基本相同:How do I get a consistent byte representation of strings in C# without manually specifying an encoding? 但不是用于 Java 的 C#。我搜索了很长时间,但找不到任何合适的解决方案。
提前致谢。
【问题讨论】:
-
如果您可以显示您正在处理的字符串,那么我们可能会提供帮助。此外,如果它没有编码,为什么会输出一些字节。你在什么操作系统上运行?
-
请分享一个给出'?'的字符串转换时。很可能是字符编码的问题,请尝试使用 'UTF-8'
-
不可能“给出一个字符串”来生成一个“?”......转换为 0x3F(“?”)的典型十六进制值是 0x8E 或 0x8F 以及其他不是几乎任何字符集中的可打印字符(未使用或控制字符)