UTF-8 的编码规则很简单:如果只有一个字节,那么最高的比特位为 0;如果有多个字节,那么第一个字节从最高位开始,连续有几个比特位的值为 1,就使用几个字节编码,剩下的字节均以 10 开头。
具体的表现形式为:
0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:双字节编码形式;
1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式。
具体的表现形式为:
0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:双字节编码形式;
1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式。
2023-04-21
最新回答 / dudu0101
二进制和十进制的原理是一样的,二进制的意思是逢二进一位,比如二进制,1+1=2,就要进一位写成10,就像十进制的1+9为十写成10,二进制的3写成10+1=11,二进制的4就是11+1了,相当于12(尾数为2要进一位),即20,左边的是2,又要进一位,也就是4写成二进制的100,相当于十进制的99+1=100。
2022-09-26
最赞回答 / liujunjiede
一个byte等于8个bit,表示的数值只有后面7位。正数原码,由于最高位只能是0,因此最大值为:0 111 1111,即因为,有一个特殊数字,0。0和-128的原码是一样的,都是1000 0000因为有符号,那么就因该有+0和-0也就是1000 0000和0000 0000。而且用补码进行计算的时候,是带符号位计算的,那么1000 0000谁能分清这是0还是-128?所以发明的时候就规定-0为-128。所以这就是为什么最小范围是 -128.
2020-05-09