java int 转 char 乱码

如:下面这些
int a = 64317
int b = 65124
int c = 61506
int d = 1097
System.out.prinln((char)a);System.out.prinln((char)b);....

输出乱码,请问怎么就不乱码了。。。
如何解决。。

char 所取字符是在Unicode字符集中的顺序位置,
所以你用 0~65535之间的一个int型的数可以代表Unicode表中相应的位置上的字符,但就像你使用的那样,必须要使用char型转换,如果你转换出的结果,长的像符号一样,那不是乱码,是表中所对应的字符。按你程序应该出现的是:

?


如果确定是乱码,不妨作如下操作:

把你的.java源文件拖到桌面上,
用记事本打开,然后点 “文件” ,点 “另存为”
此时出现的 “保存类型” 的底下有个“编码”,看看你的是什么类型的,如果不是“ANSI”的,就选“ANSI”,如果是,就选“UTF-8”。不过一般都是选“ANSI”。

你可以试试
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-27
定义的整数到是在char类型的可表示范围。
a 表示的是问号,
b 表示的是小于号,
按理输出应该不会乱码(或是你把输出的符号看成乱码了?),你试试改下IDE的编码试试。。
楼上的说法,应该也不对,改那个编码,只是更改java源文件的编码方式,与输出无关的。
第2个回答  2010-06-27
你这都查出了,char类型的长度。当让会出现乱码了。
char 类型的变量长度好像是0--255的。。你查查看。。
一旦超过就会出现乱码的。。这是肯定的吗。。
第3个回答  2010-06-27
那不是乱,就是这些数字对应的char就是这样的本回答被提问者采纳
第4个回答  2010-06-27
java的char是16位.............