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