我有一些应该非常简单明了的 Java 代码,但不幸的是,我得到了非常奇怪的结果。
简单地说,我正在执行从 ASCII 整数到字符串值的基本转换。
例如,如果我这样做:
char n = (char) 152;
System.out.print(n); // should yield: ÿ.
不幸的是,这只是产生:?
有人熟悉此类问题吗?
最佳答案
在 UTF16 中,字符 ÿ 是十进制代码 255。十进制代码 152 是称为“字符串开头”的控制字符。 http://www.fileformat.info/info/unicode/char/0098/index.htm
例如,您可能正在查看 asciitable.com扩展代码,但这些代码不适用于UTF16的Java。
关于Java 从 ASCII 整数到字符的转换产生未知值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28331602/