本文非徹底原創, 更多的是整理後加入html
Last-Modified: 2019年5月10日15:24:16瀏覽器
Unicode 是一個符號集, 規定了全部符號的二進制編號.服務器
Unicode 也稱爲 UCS(Universal Multiple-Octet Coded Character Set)
UTF8 是unicode的一種編碼方式(存儲, 傳輸方式)編碼
ascii碼範圍: 1~128, 只須要1個字節, 最前面的一位固定爲 0spa
unicode 編碼佔用3個字節, 它包含了全部的字符.net
Unicode 只是一個符號集,它只規定了符號的二進制代碼,沒有規定這個二進制代碼如何存儲。code
存儲Unicode的編碼方式的經常使用方式:htm
0
,後面7位爲這個符號的 Unicode 碼。所以對於英語字母,UTF-8 編碼和 ASCII 碼是相同的。n
字節的符號(n > 1
),第一個字節的前n
位都設爲1
,第n + 1
位設爲0
,後面字節的前兩位一概設爲10
。剩下的沒有說起的二進制位,所有爲這個符號的 Unicode 碼。下表總結了編碼規則,字母x
表示可用編碼的位。blog
Unicode符號範圍(十六進制) | UTF-8編碼方式(二進制) |
---|---|
0000 0000 ~ 0000 007F | 0xxxxxxx |
0000 0080 ~ 0000 07FF | 110xxxxx 10xxxxxx |
0000 0800 ~ 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
0001 0000 ~ 0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
在計算機內存中,統一使用Unicode編碼,當須要保存到硬盤或者須要傳輸的時候,就轉換爲UTF-8編碼。ip
用記事本編輯的時候,從文件讀取的UTF-8字符被轉換爲Unicode字符到內存裏,編輯完成後,保存的時候再把Unicode轉換爲UTF-8保存到文件:
瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換爲UTF-8再傳輸到瀏覽器:
做者:Deft_MKJing宓珂璟
來源:CSDN
原文:https://blog.csdn.net/Deft_MK...
版權聲明:本文爲博主原創文章,轉載請附上博文連接!
字節順序標記(Byte Order Mark, BOM), 位於文檔開頭的前2個字節, 用於標記存儲的字節序, 是按 "大端"仍是"小端"順序存儲.
借個圖(UTF8你
的utf8編碼存儲文件內容):
feff
表示內容是按大端序存儲: 高位字節放在內存的低地址,低位字節放在內存的高地址
fffe
表示內容是按小端序存儲:低位字節放在內存的低地址,高位字節放在內存的高地址。
UTF-8不須要BOM來代表字節順序,但能夠用BOM來代表編碼方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF
U
的UTF16編碼是 0055
, 但按照小端序存儲時是 5500
注意, utf8並無這個煩惱, 不要搞亂.
在UTF16下,存儲的字節值和unicode是一一對應的。可是UTF16顯示英文(asni)就浪費一個字節。
英文字符編碼 ANSI
簡體中文 GB2312
繁體中文 Big5