为什么字符大于0x80就能确定这个字符是中文??
汉字由2个字节组成,为了和标准ASCII码(0-127)区别开, 所以汉字每个字节的最高位都置1,即0x80.
其中0x80这是十六进制数,变成十进制数为-128,因为char型在C语言中范围为-128~127,并不是0乘以80
C语言里0x表示后面的数是16进制数,16进制数可以包含0~9,a,b,c,d,e,f。它与10进制对应如:
0x80 = 8 * 16 + 0 = 128
0x0f = 0*16 + 15 = 15
0xf0 = 15 * 16 + 0 = 240
0xc0 = 12 * 16 + 0 = 192
C语言里面乘法是星号*,如4*5