字符集和字元編碼

2022-07-13 13:12:14 字數 1032 閱讀 4794

在工作中經常會遇到亂碼問題,很多人對此一直都無從入手,因為大家對字元編碼這方面沒有很好的深入去了解,只是大概的知道有utf-8、unicode、gbk等字元編碼方式。下面我就將我對字元編碼的理解來跟大家分享下。

計算機儲存資訊都是採用二進位制來儲存資訊的,也就是0和1,比如1100001。但是如果計算機在顯示屏中也顯示二進位制的話,我們人類是很難理解的,比如在你的顯示屏中直接顯示1100001,那你是很難理解計算機要給你展示的資訊是什麼的。同樣的道理,如果你在鍵盤上打了乙個a字母,計算機就會儲存這個a字母,但是前面說到計算機只能識別二進位制,也就是說計算機只能識別0和1。想要讓計算機能儲存這個a字母,就需要把這個a字母轉換成二進位制的形式。可是該把a轉換成什麼樣的二進位制呢?通俗點說就是a該轉換成什麼樣的0和1的組合?如果大家不好理解,可以這麼想。我們人類是中國人,計算機是英國人。中國人說中文,英國人說英文,所有兩者是無法溝通的。想要讓乙個中國人和乙個英國人溝通起來,就需要把中國人說的中文轉換成英國人說的英文,把英國人說的英文轉成中國人說的中文。想要實現轉換就需要兩個條件,乙個是單詞表,裡面有每個中英文的對應。乙個是翻譯的人,根據單詞表,根據他學習的翻譯規則,然後由這個人轉換中英文。同樣的道理,人類和計算機語言之間的轉換也需要兩個條件,乙個是字符集,乙個是字元編碼,分別對應的就是單詞表和翻譯的人。

人們經常提到的unicode,就是一種字符集。而utf-8就是基於unicode這種字符集的一種編碼方式,基於unicode的編碼方式還有utf-16、utf-32。還有人們經常見到的ascii也是一種字符集,同時也是一種編碼方式,也就是說ascii代表了字符集和編碼方式,不單單指字符集或者編碼方式。

如果大家通過上面的中國人和英國人的例子,理解了字符集和字元編碼的關係,也理解了unicode和utf-8和ascii的關係。可能會出現乙個疑惑,那就是為什麼會出現這麼多字符集?這主要是因為每個國家的語言都不一樣,像ascii這個字符集,就只收錄了英文本元,中文字元就沒有收錄。用ascii就無法編碼,也無法解碼中文字元。為了解決每個國家語言字元不一樣這個問題,於是就出現了unicode,在unicode裡面收錄了全球大部分的字元,採用unicode這個字符集就能再這個網際網路時代很好的溝通交流。

字符集和字符集編碼詳解

gb2312 gbk ascii asni unicode utf 8等等,這些字眼非常常見,同時帶來許多的問題。本文只是從理解的角度,說明以上內容的不同含義從而達到區分其用法的目的是夠了的。至於實現方式,可以查閱各自的詳細標準官方文件。先解釋乙個概念,什麼是字符集,嗯,不解釋了,我弄乙個吧 從今以...

字符集和字元編碼

字符集和字元編碼不錯的部落格 字符集 是乙個系統支援的所有抽象字元的集合。字元是各種文字和符號的總稱,包括各國家文字 標點符號 圖形符號 數字等。asicc,unicode,gbk,gb2312等 字元編碼 是一套法則,使用該法則能夠對自然語言的字元的乙個集合 如字母表或音節表 與其他東西的乙個集合...

字符集和字元編碼

字符集 建立文字檔案預設使用ansi,就是系統預設編碼方式,中文window系統預設使用gbk編碼方式 位元組 這是最基本的概念,位元組是計算儲存容量的一種計量單位,我們知道計算機只能識別1和0組成的二進位制位,乙個數就是1位 bit 為了方便計算,我們規定8位就是乙個位元組 字元 字元和位元組不太...