汉字的ASCII

汉字的ASCII

汉字的ASCII是负数是因为你错误使用有符号的整型观察它,它实质上不是负数。

 

相关问题细节如下:

  1. 英文标准的ASCII码中只有128个符号,只需要7位,但是计算机分配存储的最基本单位是字节,至少是8位,因此最高位为0;

  2. 因此常见的西文符号的ASCII都是在0-127之间,无论是有符号还是无符号去观察它们,都是正的。

  3. 中文的符号远超过256个,因此用一个字节不能存储汉字,早期的GB2312采用了两个字节。

  4. 但是很麻烦的问题是一个汉字用两个字节存储在计算机中后,和两个西文字母的ASCII混淆,为了避免这个混淆,汉字两个字节的最高位都是1。

  5. 如果用有符号的数去读取一个汉字的内容,最高位的1正好和负号位置相同,因此此时就会发现汉字的内吗是负的。

     

    实质上汉字应该用字符型而不是整型去读取和显示它。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页