翻譯 你真的知道你看到的UTF 8字元是什麼嗎

2022-04-29 17:39:10 字數 1098 閱讀 2814

翻譯自

source : sonic0002

如有版權問題請告知.

solórzano

將會給我們介紹世界上使用範圍最廣/包含所有不同字符集的編碼規則.

utf-8是一種unicode字元的編碼方式, 它使用8個bit. unicode是一種用來對不同語言中大多數字元進行編碼的標準.

大約40年前, ascii誕生了. 原始的ascii包含128個字元, 包括大小寫英文, 數字和標點符號, 每個字元使用7個bit編碼.

隨後出現了"拓展ascii", 它使用8個bit來包含更多的字元, 比如á, é, ü. 對於這額外的128個字元空位, 出現了許多不同的**對映集. 比如latin1, windows-1252等等(對於這128個額外字元, 沒有固定的對應表, 取決於種族語言和作業系統等).

很明顯128(7bit)或256(8bit)個字元空位對於同時代表眾多字元都是不夠的. 因此unicode作為乙個可以代表幾乎所有文字系統的標準被提出了. 目前它包含超過1000,000個字元(code point). utf-8 是一種用來編碼這些字元的方式. 在utf-8中的乙個字元可以由1個或更多位元組(byte)組成. 前128個字元和ascii碼是一樣的. 之後的字元就使用超過1個位元組來進行編碼. 乙個獨立字元中的每個位元組都以乙個特殊的位順序開頭來表示此位元組和前乙個位元組描述的是同乙個字元.

table from wikipedia:

比如,á是乙個unicode字元編碼,

u+00e1, 或者 225(十進位制)

225的二進位制是11100001.

因為需要8個bit來表示這個數字(225), 因此在utf-8中我們需要使用2個位元組來對它進行編碼(原ascii表中的前128個字元才使用1個位元組, 它們只用7個bit). 所以, 使用第一張表作為參考, 我們可以把這個字元編碼成:

1100001110100001

粗體部分是數字225,

非粗體的是編碼必須的模式.

因此, 如果你開啟了乙個包含位元組c3 a1的文字檔案, 並且程式認為編碼格式是utf-8,

你就會看到á.

你真的知道元件中的v model嗎?

目錄 元件中的v model html divid input v model poin div js new vue 一旦我們輸入的值發生變化,data中的poin值也會發生變化。理論上data中的值發生變化是會出發事件的,但是我們沒看見?其實在vue的文件中有說明 input v model s...

你也真的 不知道的排序與分組優化,你品,你細品?

目錄 1.在使用order by時,經常出現using filesort 1.1索引做為排序時 1.2使用order by排序時,如果沒有按照索引順序,會出現using filesort 1.3當使用 時 order by即使使用了 全部索引,也會也filesort 1.4當索引欄位為常量時 可以當...

日記俠 你真的想知道引流的方法嗎?

你好,我是王剛,行走於網路江湖的 日記俠 每天分享我的思考和經驗,希望身邊的人可以和我一樣天天寫日記,今天是王剛日記第554天。引流,引就是吸引,流就是流量,也就是使用者,簡單說就是吸引使用者。為什麼要吸引?在哪吸引?誰來吸引?要吸引誰?這4個問題你能搞定就是高手!1 昨天,分享商學院的夥伴易寒做了...