計算機 編碼問題

2021-08-29 23:04:36 字數 1902 閱讀 8728

在計算機中,所有的資料在儲存和運算時都要使用二進位制數表示,例如,a-z、a-z、0-9數字以及還有一些常用的符號(例如*、#、@等)

在計算機中儲存時也要使用二進位制數來表示,而具體用哪些二進位制數字表示哪個符號,當然每個人都可以約定自己的一套(這就叫編碼),

而大家如果要想互相通訊而不造成混亂,那麼大家就必須使用相同的編碼規則,於是美國有關的標準化組織就出台了所謂的ascii編碼,

統一規定了上述常用符號用哪些二進位制數來表示。

ascii碼於2023年提出,用於在不同計算機硬體和軟體系統中實現資料傳輸標準化。

ascii是美國國家資訊交換標準**,一種使用7位或8位二進位制位進行編碼的方案,最多可以給256個字元(包括字母、數字、標點符號、控制符號及其他符號)分配或指定數值。

ascii碼劃分為兩個集合:基本ascii碼和擴充套件ascii碼。基本ascii碼使用7位二進位制表示乙個字元,共128個字元;擴充套件ascii碼使用8位,256個字元。

為了擴充ascii編碼,以用於顯示本國的語言,不同的國家和地區制定了不同的標準,由此產生了gb2312、big5、jis等各自的編碼標準。

這些使用2個位元組來代表乙個字元的各種延伸編碼方式,稱為ansi編碼,又稱mbcs(多位元組字符集)。

在簡體中文系統下,ansi編碼代表gb2312編碼,在日文作業系統下,ansi編碼代表jis編碼。不同ansi編碼之間互不相容,這樣容易造成混亂。

gb2312是ansi編碼裡的一種,為了滿足國內計算機中使用漢字的需要。中國國家標準總局發布了一系列的漢字字符集國家標準編碼,統稱為gb碼,或叫國標碼。

其中最有影響的是於2023年發布的《資訊交換用漢字編碼字符集基本集》,標準號為gb2312-80。

gb2312是乙個簡體中文字符集,由6763個常用漢字和682個全形字符組成。一級漢字3755個,二級漢字3008個。

gb2312編碼用兩個位元組表示乙個漢字,所以理論上最多可以表示256*256=65536個漢字。

gb2312的出現,基本滿足了漢字的計算機處理需要,但對於人名、古漢語等方面出現的罕見字,gb2312不能處理,這導致了gbk的出現。

gbk即漢字內碼擴充套件規範,k為擴充套件的意思。gbk編碼標準相容gb2312,採用雙位元組表示,共計23940個碼位,共收錄21886個漢字和圖形符號,並提供1894個造字碼位。

在台灣、香港與澳門地區,使用的是正體中文字符集。而2023年發布的gb2312簡體中文字符集,並不支援繁體漢字。

在使用正體中文的地區,出現了很多廠商提出的字符集編碼,這些編碼彼此互不相容。為了統一繁體字符集編碼,

2023年,台灣五大廠商巨集基、神通、佳佳、零壹和大眾共同制定了一種正體中文編碼方案,稱為大五碼,英文寫作big5

世界上存在著多種編碼方式,在ansi編碼下,同乙個編碼值,在不同的編碼體系裡代表著不同的字。

在簡體中文作業系統下,ansi編碼代表gb2312編碼,在日文作業系統下,ansi編碼代表jis編碼,可能顯示中文,也可能顯示英文。

在ansi編碼體系下,要想開啟乙個文字檔案,不但要知道它的編碼方式,還要安裝有對應編碼表,否則就無法讀取或出現亂碼。

為什麼電子郵件和網頁都經常出現亂碼,就是因為資訊的提供者與讀取者使用的ansi編碼體系不同,導致亂碼。這個問題促使了unicode碼的誕生。

如果有一種編碼,將世界上所有符號都納入其中,無論是中文、英文,還是日文,大家都使用這個編碼表,就不會出現編碼不匹配現象,亂碼問題也就不存在了。這就是unicode編碼。

unicode是乙個很大的集合,現在的規模可以容納100多萬個字元。unicode雖然統一編碼方式,但它的效率不高。unicode標準之一規定用4個位元組儲存乙個符號,

但英文1個字英就滿足了,其它的三個位元組都是0,這對儲存和傳輸來說都很耗資源。

為了提高unicode編碼效率,於是就出現了utf-8編碼。utf-8可以根據不同的符號自動選擇編碼的長短。比如英文本母可以只用1個位元組就夠了,漢字使用2個位元組就夠了。

計算機編碼 編碼

原碼 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種不同的狀態,每乙個狀態對應乙個符號...

計算機編碼

很久很久以前,有一群人,他們決定用8個可以開合的電晶體來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,於是他們把這稱為 位元組 再後來,他們又做了一些可以處理這些位元組的機器,機器開動了,可以用位元組來組合出很多狀態,狀態開始變來變去。他們看到這樣是好的,於是它們就這機器稱為 計...