无符号字符的问题。我正在阅读一个 PPM 图像文件,其中包含 ASCII/扩展 ASCII 数据。
对于一个角色,例如。'†' ,在 JAVA 中,将其读取为 char 并将其类型转换为 int 后,其值为 8224。在 C/C++ 中,将其读取为 unsigned char 并将其类型转换为 int 后,其值为 160。
我将如何阅读 JAVA 以获得价值 160 ?
以下 C++
unsigned char ch1 ='†';
char ch2 = '†';
cout << (int) ch1 << "\n"; // prints 160
cout << (int) ch2 << "\n"; // prints -96
在 Java 中,
char ch1 = '^';
char ch2 = '†';
System.out.println (" value : " + (int) ch1); // prints 94
System.out.println (" value :" + (byte) ch1); // prints 94
System.out.println (" value : " + (int) ch2); // prints 8224
System.out.println (" value :" + (byte) ch2); // prints 32
以下是一些例外情况 8224 † 8226 • 8800 ≠ 8482 ™ 8710 Δ 8211 – 8221 ” 8216 ' 9674 ◊ 8260 ⁄ 8249 ‹ 8249 ‹ 8734 ∞ 8747 ∫ 8364 € 8730 √ 8804 ≤
以下是一些不错的 94 ^ 102 f 112 p 119 w 126 ~ 196 Ä 122 z 197 Å 197 Å
任何帮助表示赞赏