- 博客(2)
- 收藏
- 关注
原创 JAVA中的char只有两个字节,如何存下中文?
Unicode只是一组字符设定或者说是从数字和字符之间的逻辑映射的概念,但是它并没有指定代码点如何在计算机上存储,Unicode的编码有:UTF-8、UTF-16、UTF-32,UTF后的数字代表编码的最小单位,如UTF-8表示最小单位是8位,即1字节。第一个问题很好回答,因为无论是中文字符还是英文字符,甚至其他的生僻字符,都是是以二进制形式存在计算机内存中的,像是01100001这样的,对应的就是十进制的97。答案是char存的是UTF-16BE的编码,这个编码的中文是2字节的,见上图。
2023-11-23 17:51:39 162
原创 JAVA byte int 0xff 0xffffffff
byte b = 0xff;这样无法通过编译。因为这时的0xff,是作为int类型的,其值为255,二进制记作0000 0000 0000 0000 0000 0000 1111 1111,另外,JAVA这里的二进制是用补码的。而byte的范围是-127~128,所以编译器无法通过。如果要想通过编译,应该如下:byte b = (byte) 0xff;这时0xff,...
2018-08-20 14:07:36 1464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人