【Java基础专题】编码与乱码(06)---字符的各种值转换
?最终的测试结果如下:
?
Original String : 中文
Convert string to bytes array :
?byte[0]=-42
?byte[1]=-48
?byte[2]=-50
?byte[3]=-60Start to convert by character:
Character : 中
?byte value : 45
?int value : 20013
?short value : 20013
?hex value :4e2d
?binary value : 100111000101101
?unicode value (Base 10): \u20013;
?unicode value (Base 10 in web page): 中
?unicode value (Base 16): \u4e2d;
?unicode value (Base 16 in web page): e2d;Character : 文
?byte value : -121
?int value : 25991
?short value : 25991
?hex value :6587
?binary value : 110010110000111
?unicode value (Base 10): \u25991;
?unicode value (Base 10 in web page): 文
?unicode value (Base 16): \u6587;
?unicode value (Base 16 in web page): ᦻ
可以看到在Java中,字符的unicode有两种表示显示:一种是10进制形式,一种是16进制形式。它们可以分别通过:int i = (int)(string.charAt(i))和Integer.toHexString(i);获得。而且在java文件和Web页面,同一个unicode的表示形式是不同。web页面需要用&#进行转义,在java文件中则使用\u进行转义。