UTF-8 的編碼規(guī)則很簡單:如果只有一個字節(jié),那么最高的比特位為 0;如果有多個字節(jié),那么第一個字節(jié)從最高位開始,連續(xù)有幾個比特位的值為 1,就使用幾個字節(jié)編碼,剩下的字節(jié)均以 10 開頭。
具體的表現(xiàn)形式為:
0xxxxxxx:單字節(jié)編碼形式,這和 ASCII 編碼完全一樣,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:雙字節(jié)編碼形式;
1110xxxx 10xxxxxx 10xxxxxx:三字節(jié)編碼形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字節(jié)編碼形式。
具體的表現(xiàn)形式為:
0xxxxxxx:單字節(jié)編碼形式,這和 ASCII 編碼完全一樣,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:雙字節(jié)編碼形式;
1110xxxx 10xxxxxx 10xxxxxx:三字節(jié)編碼形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字節(jié)編碼形式。
2023-04-21
最新回答 / dudu0101
二進(jìn)制和十進(jìn)制的原理是一樣的,二進(jìn)制的意思是逢二進(jìn)一位,比如二進(jìn)制,1+1=2,就要進(jìn)一位寫成10,就像十進(jìn)制的1+9為十寫成10,二進(jìn)制的3寫成10+1=11,二進(jìn)制的4就是11+1了,相當(dāng)于12(尾數(shù)為2要進(jìn)一位),即20,左邊的是2,又要進(jìn)一位,也就是4寫成二進(jìn)制的100,相當(dāng)于十進(jìn)制的99+1=100。
2022-09-26
最贊回答 / liujunjiede
一個byte等于8個bit,表示的數(shù)值只有后面7位。正數(shù)原碼,由于最高位只能是0,因此最大值為:0 111 1111,即因?yàn)?,有一個特殊數(shù)字,0。0和-128的原碼是一樣的,都是1000 0000因?yàn)橛蟹枺敲淳鸵蛟撚?0和-0也就是1000 0000和0000 0000。而且用補(bǔ)碼進(jìn)行計算的時候,是帶符號位計算的,那么1000 0000誰能分清這是0還是-128?所以發(fā)明的時候就規(guī)定-0為-128。所以這就是為什么最小范圍是 -128.
2020-05-09