字符集:是一堆字元組成的集合,用來指定位元組或者字串對映成二進位制的規則
(在計算機中儲存的,無論是位元組還是字串都是以二進位制模式儲存的。)
因為計算機只能處理數字,如果要處理文字,就必須先把文字轉換為數字才能處理。最早的計算機在設計時採用8個位元(bit)作為乙個位元組(byte),所以,乙個位元組能表示的最大的整數就是255
由於計算機是美國人發明的,因此,最早只有127個字元被編碼到計算機裡,也就是大小寫英文本母、數字和一些符號,這個編碼表被稱為ascii編碼,比如大寫字母a的編碼是65,小寫字母z的編碼是122。
新的問題又出現了:如果統一成unicode編碼,亂碼問題從此消失了。但是,如果你寫的文字基本上全部是英文的話,用unicode編碼比ascii編碼需要多一倍的儲存空間,在儲存和傳輸上就十分不划算。
所以,本著節約的精神,又出現了把unicode編碼轉化為「可變長編碼」的utf-8編碼。utf-8編碼把乙個unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文本母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。如果你要傳輸的文字包含大量英文本元,用utf-8編碼就能節省空間:
從上面的**還可以發現,utf-8編碼有乙個額外的好處,就是ascii編碼實際上可以被看成是utf-8編碼的一部分,所以,大量只支援ascii編碼的歷史遺留軟體可以在utf-8編碼下繼續工作。
瀏覽網頁的時候,伺服器會把動態生成的unicode內容轉換為utf-8再傳輸到瀏覽器。所以你看到很多網頁的原始碼上會有類似的資訊,表示該網頁正是用的utf-8編碼。
unicode編碼和utf 8編碼詳解
unicode是國際通用編碼,utf 8編碼是unicode編碼在網路之間 主要是網頁 傳輸時的一種 變通 和 橋梁 編碼。utf 8在網路之間傳輸時可以節約資料量。所以,使用作業系統無法搜尋出txt文字。按照utf 8創始人的願望 端 unicode 傳輸 utf 8 端 unicode 但是,後...
unicode和utf8編碼詳解
大家都知道計算機只能處理數字,所以在計算機中其他字元都需要先轉換為數字0和1才能處理。每8個bit作為乙個位元組,乙個位元位表示乙個乙個字元,乙個位元組就能表示255個字元。而乙個位元組足以表示所有的美國字元,所以美國人編寫了自己的ascii編碼,作為自己的統一編碼。但是漢字不止255個,所以中國用...
帶你了解 Unicode和UTF 8編碼知識
一直以來總是對 unicode,utf 8 等編碼知識懵懵懂懂的,尤其是在做專案過程中只要涉及到幾個編碼之間的轉換,都得到網上搜尋一番,根據別人的經驗照葫蘆畫瓢,才能解決問題,但是私底下卻完全不懂在做什麼。我再也不願意重複這種狀態了,於是就花了乙個上午的時間,將這些知識整理了一遍。如果您覺得我的總結...