Java 从 ASCII 整数到字符的转换产生未知值

标签 java char type-conversion ascii

我有一些应该非常简单明了的 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/

相关文章:

从 Ant 启动 tomcat 7 时出现 java.lang.NoClassDefFoundError

javascript - 如何在 JavaScript 中转换字符串日期

python - pandas 假定整数类型数据并且不允许设置文本

c - 在C中将字符串存储在char数组中

c# - 将数字对应的chars转换为uint

java - GUI 不出现 Java

java - 如何使用 Spring self 描述 REST api?

java - JPA 和 Hibernate 实体的列表属性中的重复项

c - 如果字符与 c 中的 '.' 匹配,如何终止 while 循环

c - 通过比较两个 char 数组返回整数