Ⅰ 什麼是漢字編碼
每天,我們都窩在格子間里噼里啪啦敲代碼敲到脫發,對代碼我們是再熟悉不過的老朋友了。
但不知道小夥伴們有沒有想過這樣一個問題:
那些讓我們「英年早禿」的代碼,到底是怎麼來的呢?
今天,麗斯老師就帶大家看看,這個讓我們愛恨兩難的「老朋友」究竟是何方神聖。
什麼是編碼?
編碼,是信息從一種形式或格式轉換為另一種形式的過程,簡單來講就是語言的翻譯過程。
我們都知道計算機使用的是機器語言即二進制碼,相信大部分人都無法流暢的閱讀二進制碼。
於是為了能夠讓人類更好的理解計算機輸出的結果就需要將機器語言轉換為自然語言。
比如英語、俄語和中文等。
這看似簡單的語言轉換過程,隨著計算機的普及,與互聯網化對語言字元的編碼沖擊也越來越大。
編碼規范的調整也伴隨著整個計算機發展歷史在逐步完善,甚至「愈演愈烈」。
UTF-8又是什麼
Unicode確實是一套能夠滿足全球使用的字元集,但是難道真的需要每一個字元都佔用4個位元組嗎?
雖然現在的存儲空間已經足夠大了,但是4個位元組一個字元的方式還是很不明智的。
比如字元「A」二進制碼01000001卻需要以的方式存儲。
這一定不是我們想要的。
於是UTF(Unicode/UCS Transformation Format)應運而生。
UTF是字元編碼五層次模型的第三層,通過特定的規則對Unicode字元編碼進行一定的壓縮和轉換以便快捷傳輸。
UTF的代表就是UTF-16和UTF-8。
千萬不要以為UTF-16比UTF-8更厲害能夠容納更多字元。
字元容納數量都是是Unicode編碼集所確定的范圍,UTF只是通過不同的轉換形式更快更高效的找到特定字元。
而UFT-16 比較奇葩,它使用 2 個或者 4 個位元組來存儲。
對於 Unicode 編號范圍在 0 ~ FFFF 之間的字元,UTF-16 使用兩個位元組存儲,並且直接存儲 Unicode 編號,不用進行編碼轉換,這跟 UTF-32 非常類似。
對於 Unicode 編號范圍在 10000~10FFFF 之間的字元。
UTF-16 使用四個位元組存儲,具體來說就是:
將字元編號的所有比特位分成兩部分。
較高的一些比特位用一個值介於 D800~DBFF 之間的雙位元組存儲。
較低的一些比特位(剩下的比特位)用一個值介於 DC00~DFFF 之間的雙位元組存儲。
設計UTF-8編碼表達方式的理由:
1、單位元組字元的最高有效比特永遠是0(大家可以看看其他編碼方式如何別扭的兼容ASCII碼的);
2、多位元組序列中的首個字元組的幾個最高有效比特決定了序列的長度。最高有效位為110的是2位元組序列,而1110的是三位元組序列,如此類推;
3、多位元組序列中其餘的位元組中的首兩個最高有效比特為10。
轉換關系如下圖:
這樣我們根據所要兼容的語言不同根據UTF-8多位元組最高有效比特,去判斷編碼最終使用了多少個位元組來存儲。
其餘的位元組也都滿足最高有效比特為10的特點有了一定的糾錯功能。
簡單一些理解就是UTF-16就是通過2個位元組16位來控制壓縮比例。
而UTF-8已經以高精度的1個位元組8位來控制壓縮比例了。
當然還有中UTF-32就可想而知,基本跟Unicode如出一轍。
Ⅱ 計算機中常見的漢字編碼有哪些
根據應用目的的不同,漢字編碼分為外碼、交換碼、機內碼和字形碼。
1.外碼(輸入碼)
外碼也叫輸入碼,是用來將漢字輸入到計算機中的一組鍵盤符號。目前常用的輸入碼有拼音碼、五筆字型碼、自然碼、表形碼、認知碼、區位碼和電報碼等,一種好的編碼應有編碼規則簡單、易學好記、操作方便、重碼率低、輸入速度快等優點,每個人可根據自己的需要進行選擇。在後面的章節中,重點介紹智能全拼輸入法和五筆字型輸入法。
2.交換碼(國標碼)
計算機內部處理的信息,都是用二進制代碼表示的,漢字也不例外。而二進制代碼使用起來是不方便的,於是需要採用信息交換碼。中國標准總局1981年制定了中華人民共和國國家標准GB2312--80《信息交換用漢字編碼字元集--基本集》,即國標碼。
區位碼是國標碼的另一種表現形式,把國標GB2312--80中的漢字、圖形符號組成一個94×94的方陣,分為94個「區」,每區包含94個「位」,其中「區」的序號由01至94,「位」的序號也是從01至94。94個區中位置總數=94×94=8836個,其中7445個漢字和圖形字元中的每一個佔一個位置後,還剩下1391個空位,這1391個位置空下來保留備用。
3.機內碼
根據國標碼的規定,每一個漢字都有了確定的二進制代碼,在微機內部漢字代碼都用機內碼,在磁碟上記錄漢字代碼也使用機內碼。
4.漢字的字形碼
字形碼是漢字的輸出碼,輸出漢字時都採用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。通常用16×16點陣來顯示漢字。
Ⅲ 百度搜索時解釋漢字的叫什麼編譯方法
UTF-8編碼或者gbk(GB2312)編碼
中文的gbk(GB2312)編碼
如果是中文的gbk(GB2312)編碼,那麼它的形式應該是這樣的,即一個漢字對應兩組%xx,即%xx%xx,比如http://www..com/?tn=&word=%D6%D0%B9%FA 這個網頁地址是網路的,網路是使用GB2312編碼的,這個網址中我們可以看到的特殊代碼是「%D6%D0%B9%FA」,其中前面的「%D6%D0」就對應中文漢字「中」字,後面的「%B9%FA」就對應中國漢字「國」字。
中文的UTF-8編碼
如果是中文的UTF-8編碼,那麼它的形式應該是這樣的,即一個漢字對應三組%xx,即%xx%xx%xx,比如http://www.icpoline.com/tag/%e7%bd%91%e6%b0%91 ,這個網址是本站IcpOline.com的網頁,IcpOline使用的是UTF-8編碼,這個網址中的」%e7%bd%91%e6%b0%91〃對應著中文漢字「網民」,即「%e7%bd%91」對應漢字「網」,「%e6%b0%91」對應中文漢字「民」。
Ⅳ 漢字如何使用摩斯密碼編譯
一是直接發拼音,二是用不同組合的數字代替漢語的意思,三是拍發英文的縮寫。(摩爾斯碼就是由「·」和「—」組成,不同的組合組成數字或字母,比劃目前是沒有,太費勁了,畢竟是外國發明的)
Ⅳ 漢字編碼有哪些
漢字的編碼體系主要有以下幾種:
⑴ 國標、區位、「准國標」
國標是將七千餘個漢字以及標點符號、外文字母等,排成一個94行、94列的方陣。方陣中每一橫行稱為一個「區」,每個區有94個「位」。一個漢字在方陣中的坐標,稱為該字的區位碼。為了與美標(ASCII)的形象碼的范圍重合,出現了「國標碼」,即將區位碼的兩個十進制數都加上32,得到該漢字的國標碼。
當需要區分國標碼和美標碼時,出現了「准國標」,即將國標碼的兩個數字各加上128,而把原來的國標碼稱為「純國標」。
⑵ GBK
GBK碼是GB碼的擴展字元編碼,對多達兩萬多的簡繁漢字進行了編碼。
⑶ BIG5碼
BIG5碼是針對繁體漢字的漢字編碼。
⑷ HZ碼
HZ碼是在Internet上廣泛使用的一種漢字編碼,它是以「純國標」的中文與美標碼混用為方案。
⑸ ISO 2022 CJK碼
這是國際標准組織為各種語言字元制定的編碼標准。CJK是中、日、韓語的合稱。它主要在Internet中使用。
⑹ UCS和ISO 10646
UCS是由ISO 10646定義的,是其他字元集標準的一個超集,保證與其他字元集是雙向兼容的,它包含了所有已知語言的字元。
⑺ Unicode
Unicode提供一種統一的字元標識方法,它是16位編碼的,具備世界各地計算機與出版行業所用字元的全部代碼。而且它的產生是以各個國家或國標字元編碼為基礎的。目前,Unicode在網路、Windows系統和很多大型軟體中得到應用。
建議你去圖書館找些書查查,書本會介紹得很清楚的,嘿嘿.
Ⅵ 什麼軟體能把漢字編譯成C語言
C語言、JAVA語言,這些可以統稱為機器語言。
機器語言就是「電腦編譯器可以看得懂的語言」,目前絕大部分機器語言都是用英語語系,中文語系的機器語言並不成熟,有個「易語言」算是半成品。
但無論使用什麼語言,人可以理解的文字和機器可以理解的文字,有本質區別。目前還沒有可能「將人可以看得懂的變成機器可以看得懂的」這樣的工具,目前最先進的,也不過是用漢字寫成的「偽代碼」或流程圖變成C語言,但這也是個非常復雜的工程,缺乏准確性。
如果這個從「人看得懂的漢字」變成了C語言 實現了,那麼,具有創造力的智能機器人 就很可能實現了,這是世界難題。
Ⅶ 什麼是漢字編碼
計算機內部使用的漢字編碼稱為漢字內碼或漢字機內碼。漢字機內碼由國標碼(GB2312-80)演化而來,把表示國際碼的兩個位元組的最高位分別加1,就變成了漢字機內碼。
漢字字模信息碼即漢字字形碼,用點陣方式來構造漢字字型。它們的關系是這樣的,漢字輸入編碼是外部碼,同一個漢字可以有不同的輸入編碼,但它們的漢字機內碼是惟一的。漢字的輸出則根據點陣方式構成的漢字字模信息碼輸出。
漢字編碼系統
為進行信息交換,各漢字使用地區都制訂了一系列漢字字元集標准。
國標碼(「國標」是中華人民共和國國家標準的簡稱)在中國大陸使用。GB2312收錄6763個漢字,GBK收錄20912個漢字,最新的GB18030收錄27533個漢字。
BIG5碼。收錄13053個漢字。在台灣和香港使用的一位元組或兩位元組編碼。
Unicode並不被中國政府很好的接受。中國政府要求在中國大陸出售的軟體必須支持GB 18030編碼。
在國際通信化和軟體設計領域,CJK編碼收集了漢語、日語、韓語中的漢字集。
Ⅷ C語言編譯的漢字問題
用VC算了,不一定非要用TC
Ⅸ 中國的漢字如何編碼
所謂編碼,是以固定的順序排列字元,並以此做為記錄、存貯、傳遞、交換的統一
內部特徵,這個字元排列順序被稱為「編碼」。
字型檔的編碼是字型檔組織的依據,也是文字處理的基礎。不同國家和地區有不同的編
碼標准,和中文字型檔有關的常見編碼有:單位元組編碼、GB2312-80、GB12345-90、GBK、U
nicode編碼、ISO10646 / Unicode字元集、GB18030-2000、BIG5編碼,下面簡要介紹一
下:
單位元組編碼
MS Windows:Windows Latin 1(ANSI)
MS-DOS:MS-DOS Latin US
Macintosh:Macintosh Roman
GB2312-80
全稱是GB2312-80《信息交換用漢字編碼字元集 基本集》,1980年發布,是中文信
息處理的國家標准,在大陸及海外使用簡體中文的地區(如新加坡等)是強制使用的唯
一中文編碼。P-Windows3.2和蘋果OS就是以GB2312為基本漢字編碼, Windows 95/98則
以GBK為基本漢字編碼、但兼容支持GB2312。
雙位元組編碼
范圍:A1A1~FEFE
A1-A9:符號區,包含682個符號
B0-F7:漢字區,包含6763個漢字
GB碼共收錄6763個簡體漢字、682個符號,其中漢字部分:一級字3755,以拼音排
序,二級字3008,以偏旁排序。該標準的制定和應用為規范、推動中文信息化進程起了
很大作用。
GB12345-90
1990年制定了繁體字的編碼標准GB12345-90《信息交換用漢字編碼字元集 第一輔助
集》,目的在於規范必須使用繁體字的各種場合,以及古籍整理等。該標准共收錄6866
個漢字(比GB2312多103個字,其它廠商的字型檔大多不包括這些字),純繁體的字大概有
2200餘個。
雙位元組編碼
范圍:A1A1~FEFE
A1-A9:符號區,增加豎排符號
B0-F9:漢字區,包含6866個漢字
Unicode編碼(Universal Multiple Octet Coded Character Set)
國際標准組織於1984年4月成立ISO/IEC JTC1/SC2/WG2工作組,針對各國文字、符號
進行統一性編碼。1991年美國跨國公司成立Unicode Consortium,並於1991年10月與WG2
達成協議,採用同一編碼字集。目前Unicode是採用16位編碼體系,其字元集內容與ISO1
0646的BMP(Basic Multilingual Plane)相同。Unicode於1992年6月通過DIS(Draf
International Standard),目前版本V2.0於1996公布,內容包含符號6811個,漢字209
02個,韓文拼音11172個,造字區6400個,保留20249個,共計65534個。
ISO10646 / Unicode字元集
全球可以共享的編碼字元集。
UCS-4:組八位 平面八位 行八位 字位八位
UCS-2:00組中的00平面是基本多文種平面(BMP),4E00~9FFF 中日韓文字
Ext A(CJK):3400~4DB7,共6584字
Ext B(CJK):42,807個漢字,在第2平面的0100~A836
GBK編碼(Chinese Internal Code Specification)
GBK編碼是中國大陸制訂的、等同於UCS的新的中文編碼擴展國家標准。GBK工作小組
於1995年10月,同年12月完成GBK規范。該編碼標准兼容GB2312,共收錄漢字21003個、
符號883個,並提供1894個造字碼位,簡、繁體字融於一庫。
Windows95/98簡體中文版的字型檔表層編碼就採用的是GBK,通過GBK與UCS之間一一對應的
碼表與底層字型檔聯系。
英文名:Chinese Internal Code Specification
中文名:漢字內碼擴展規范1.0版
雙位元組編碼,GB2312-80的擴充,在碼位上和GB2312-80兼容
范圍:8140~FEFE(剔除xx7F)共23940個碼位
包含21003個漢字,包含了ISO/IEC 10646-1中的全部中日韓漢字
GB18030-2000
英文名:Chinese Internal Code Specification
中文名:信息技術 信息交換用漢字編碼字元集
基本集的擴充( 2000-03-17發布和實施)
單位元組、雙位元組、四位元組編碼
向下與國家標准GB 2312信息處理交換碼所對應的事實上的內碼標准兼容。
在字匯上支持GB 13000.1的全部中、日、韓(CJK)統一漢字字元和全部CJK統一漢字擴
充A的字元。
BIG5編碼
是目前台灣、香港地區普遍使用的一種繁體漢字的編碼標准,包括440個符號,一級
漢字5401個、二級漢字7652個,共計13060個漢字。
Ⅹ 漢字的編碼有幾種各有什麼用途
漢字的編碼分為外碼、交換碼、機內碼、字形碼和地址碼。具體用途如下:
1、外碼(輸入碼)
外碼也叫輸入碼,是用來將漢字輸入到計算機中的一組鍵盤符號。常用的輸入碼有拼音碼、五筆字型碼、自然碼、表形碼、認知碼、區位碼和電報碼等,一種好的編碼應有編碼規則簡單、易學好記、操作方便、重碼率低、輸入速度快等優點,每個人可根據自己的需要進行選擇。
2、交換碼(國標碼)
計算機內部處理的信息,都是用二進制代碼表示的,漢字也不例外。而二進制代碼使用起來是不方便的,於是需要採用信息交換碼。中國標准總局1981年制定了中華人民共和國國家標准GB2312--80《信息交換用漢字編碼字元集--基本集》,即國標碼。
3、機內碼
根據國標碼的規定,每一個漢字都有了確定的二進制代碼,在微機內部漢字代碼都用機內碼,在磁碟上記錄漢字代碼也使用機內碼。
4、漢字的字形碼
字形碼是漢字的輸出碼,輸出漢字時都採用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。通常用16×16點陣來顯示漢字。
5、漢字地址碼
漢字地址碼是指漢字型檔中存儲漢字字形信息的邏輯地址碼。它與漢字內碼有著簡單的對應關系,以簡化內碼到地址碼的轉換。
(10)漢字編譯擴展閱讀
1、機器自動識別漢字:計算機通過「視覺」裝置(光學字元閱讀器或其他),用光電掃描等方法識別漢字。
2、通過語音識別輸入:計算機利用人們給它配備的「聽覺器官」,自動辨別漢語語音要素,從不同的音節中找出不同的漢字,或從相同音節中判斷出不同漢字。
3、通過漢字編碼輸入:根據一定的編碼方法,由人藉助輸入設備將漢字輸入計算機。