計算機常見編碼介紹

2021-10-11 11:14:37 字數 1748 閱讀 7699

計算機,不能直接儲存文字,儲存的是編碼。

計算機只能處理二進位制的資料,其它資料,比如:0-9、a-z、a-z,這些字元,我們可以定義一套規則來表示。假如:a用110表示,b用111表示等。

ascii碼:

美國發布的,用1個位元組(8位二進位制)來表示乙個字元,共可以表示2^8=256個字元。

美國的國家語言是英語,只要能表示0-9、a-z、a-z、特殊符號。

ansi編碼:

每個國家為了顯示本國的語言,都對ascii碼進行了擴充套件。用2個位元組(16位二進位制)來表示乙個漢字,共可以表示2^16=65536個漢字。例如:

中國的ansi編碼是gb2312編碼(簡體),對6763漢字進行編碼,含600多特殊字元。另外還有gbk(簡體)。

日本的ansi編碼是jis編碼。

台灣的ansi編碼是big5編碼(繁體)。

gbk:

對gb2312進行了擴充套件,用來顯示罕見的、古漢語的漢字。現在已經收錄了2.1萬左右。並提供了1890個漢字碼位。k的含義就是「擴充套件」。

unicode編碼(統一編碼):

用4個位元組(32位二進位制)來表示乙個字元,想法不錯,但效率太低。例如,字母a用ascii表示的話乙個位元組就夠,可用unicode編碼的話,得用4個位元組表示,造成了空間的極大浪費。a的unicode編碼是0000 0000 0000 0000 0000 0000 0100 0000

utf-8(unicode transform format)編碼:

根據字元的不同,選擇其編碼的長度。比如:乙個字元a用1個位元組表示,乙個漢字用2個位元組表示。

毫無疑問,開發中,都用utf-8編碼吧,準沒錯。

中文能夠使用的字符集兩種:

字型檔規模: utf-8(字很全) > gb2312(只有漢字)

重點1:避免亂碼

我們用meta標籤宣告的當前這個html文件的字型檔,一定要和儲存的檔案編碼型別一樣,否則亂碼(重點)。

拿 sublime編輯器舉例,當我們不設定的時候,sublime預設型別就是utf-8。而一旦更改為gb2312的時候,就一定要記得設定一下sublime的儲存型別:檔案→ set file encoding to → chinese simplified(gbk)。vs code 的道理一樣。

重點2:utf-8和gb2312的比較

儲存大小:utf-8(更臃腫、載入更慢) > gb2312 (更小巧,載入更快)

總結:

列出2個使用情形:

1) 你們公司是做日本動漫的,經常出現一些日語動漫的名字,網頁要使用utf-8。如果用gb2312將無法顯示日語。

2) 你們公司就是中文網頁,極度的追求網頁的顯示速度,要使用gb2312。如果使用utf-8將每個漢字多乙個byte,所以5000個漢字,多5kb。

我們親測:

新華網藏語頻道,使用的是utf-8,保證字符集的數量。

我們是怎麼檢視網頁的編碼方式的呢?在瀏覽器中開啟網頁,右鍵,選擇「檢視網頁源**」,找到meta標籤中的charset屬性即可。

那麼,我們為什麼可以檢視網頁的源**呢?因為這個開啟的html網頁已經存到我的臨時資料夾裡了,臨時資料夾裡的html是純文字檔案,純文字檔案自然可以檢視網頁的源**。

計算機常見編碼

在做.net 專案中,有的時候,在開啟別人的專案的的時候,經常出現中文亂碼,尤其又是在繁體的環境下 也是找了一點編碼的資料,總結。1.ascii 字符集 第 0 31 號及 127 號是控制字元或通訊專用字元 第 32 126 號是字元,其中 48 57 號為 0 9 十個阿拉伯數字,65 90 號...

計算機編碼 編碼

原碼 a.規則 最高位為符號位,0為正數,1為負數,剩餘位表示資料 b.例 95 原 0101 1111 原 77 原 11001101 原 c.特點 區分正負零 缺陷 0 原 0000 0000 0 原 1000 0000 原碼可能出錯 1 原 1 原 1000 0010 原 2 d d.範圍 8...

計算機編碼

來自 阮一峰 一下對自己有用的精簡部分 1.ascii碼 在計算機內部,所有的資訊最終都表示為乙個二進位制的字串。每乙個二進位制位有0和1兩種狀態,因此八個二進位制位就可以組合出256種狀態,這被稱為乙個位元組 byte 也就是說,乙個位元組一共可以用來表示256種不同的狀態,每乙個狀態對應乙個符號...