UTF-8:修訂版本之間的差異

出自福留子孫
跳轉到: 導覽搜尋
第 1 行: 第 1 行:
 
[[分類:標準]]
 
[[分類:標準]]
'''UTF-8編碼位元組含義:'''
+
===UTF-8編碼位元組含義:===
 
*◽◾◾◾◾◾◾◾,對於UTF-8編碼中的任意位元組B,如果B的第一位為0,則B獨立的表示一個字元(ASCII碼);
 
*◽◾◾◾◾◾◾◾,對於UTF-8編碼中的任意位元組B,如果B的第一位為0,則B獨立的表示一個字元(ASCII碼);
 
*◾◽??????,128~191,如果B的第一位為1,第二位為0,則B為一個多位元組字元中的一個位元組(非ASCII字元);
 
*◾◽??????,128~191,如果B的第一位為1,第二位為0,則B為一個多位元組字元中的一個位元組(非ASCII字元);
第 13 行: 第 13 行:
 
#第三 byte 166, 166-128=38 ,單位 1
 
#第三 byte 166, 166-128=38 ,單位 1
 
:字碼 = 7×4096+19×64+38=29926 ,字碼寫成 瓦
 
:字碼 = 7×4096+19×64+38=29926 ,字碼寫成 瓦
 +
===0~127===
  
'''等價'''
+
 
 +
 
 +
===等價===
 
「◾◽??????」與「◽◽??????」皆合法且等價
 
「◾◽??????」與「◽◽??????」皆合法且等價
 
#https://graphemica.com/%C2%A1
 
#https://graphemica.com/%C2%A1

2023年6月24日 (六) 21:02的修訂版本

UTF-8編碼位元組含義:

  • ◽◾◾◾◾◾◾◾,對於UTF-8編碼中的任意位元組B,如果B的第一位為0,則B獨立的表示一個字元(ASCII碼);
  • ◾◽??????,128~191,如果B的第一位為1,第二位為0,則B為一個多位元組字元中的一個位元組(非ASCII字元);
識別位元固定為 128 ,表值 0~63。
  • ◾◾◽?????,192~223,如果B的前兩位為1,第三位為0,則B為兩個位元組表示的字元中的第一個位元組;
識別位元固定為 192 ,(0~31)×64。
  • ◾◾◾◽????,224~239,如果B的前三位為1,第四位為0,則B為三個位元組表示的字元中的第一個位元組;
  • ◾◾◾◾◽???,240~247,如果B的前四位為1,第五位為0,則B為四個位元組表示的字元中的第一個位元組;

組成字(以「瓦」的中文 3 byte 為例):

  1. 第一 byte 231, 231-224=7 ,單位 4096
  2. 第二 byte 147, 147-128=19 ,單位 64
  3. 第三 byte 166, 166-128=38 ,單位 1
字碼 = 7×4096+19×64+38=29926 ,字碼寫成 瓦

0~127

===等價===: 「◾◽??????」與「◽◽??????」皆合法且等價

  1. https://graphemica.com/%C2%A1
  2. https://www.ascii-code.com/
  3. http://jendo.org/study/showChar.html
  4. http://jendo.org/study/seeDecode.php