- public class CharsetTest {
-
- public static void main(String[] args) throws Exception {
- int ch = 0;
- byte buf[] = new byte[1024];
- int pos = 0;
- System.out.print("请输入中文字符:");
-
- while(true) {
- ch = System.in.read();//读取一个字节的内容保存到int型变量ch中
- System.out.println(Integer.toHexString(ch));--------------------------》代码1
- buf[pos++] = (byte)ch;
- //System.out.println(Integer.toHexString( (int)buf[pos-1]) );-------》代码2
- }
- }
- }
复制代码 注释代码2,运行结果如下: 注释代码1,显示代码2,运行结果如下:
d6 ffffffd6
d0 ffffffd0
b9 ffffffb9
fa fffffffa
d d
a a
为什么我把int转了一下byte,再转回int,“中国”的结果就变了,而回车与换行的结果却没有变(d,a),这是为什么呢?{:soso__11729231545393854982_2:} |
|