神奇的漢字編碼,了解一下

2020-12-15 科技圈大頭

一直覺得不是由中國人發明的計算機,卻可以使用漢字進行界面交互非常神奇。今天就來和大家聊一下關於漢字編碼的最底層的邏輯。

(1)漢字信息交換碼(國標碼)

漢字交換碼是指不同的具有漢字處理功能的計算機系統之間在交換漢字信息時所使用的代碼標準。

國家標準GB2312-80提出了中華人民共和國國家標準信息交換用漢字編碼,簡稱國標碼。國標碼有時又稱區位碼。

GB2312-80標準包括了6763個漢字,按其使用額度分為一級漢字3755個和二級漢字3008個。

一級漢字按拼音排序,二級漢字按部首排序。此外,該標準還包括標點符號、數種西文字母、圖形、數碼等符號682個。

區位碼的區碼和位碼均採用從01到94的十進位,國標碼採用十六進位的21H到7EH(數字後加H表示其為十六進位數)。

區位碼和國標碼的換算關係是:區碼和位碼分別加上十進位數32。如「國」字在表中的25行90列,其區位碼為2590,國標碼是397AH。

漢字編碼過程總覽

(2)漢字輸入碼(外碼)

輸入碼也叫外碼,是用來將漢字輸入到計算機中的一組鍵盤符號。

常用的輸入碼與拼音碼、五筆字型碼、自然碼、表形碼、認知碼、區位碼和電報碼等,一種好的編碼應有編碼規則簡單、易學好記、操作方便、重碼率低、輸入速度快等優點,每個人可根據自己的需要進行選擇。

(3)漢字機內碼

漢字機內碼,簡稱「內碼」。指計算機內部存儲、處理加工和傳輸漢字時所用的由0和1符號組成的代碼。輸入碼被接收後就由漢字作業系統的「輸入碼轉換模塊」轉換為機內碼,與所採用的鍵盤輸入法無關。

機內碼是漢字最基本的編碼且內碼是唯一的,不管是什麼漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被存儲和進行各種處理。

字型點陣圖

(4)漢字字型碼

字型碼是漢字的輸出碼,輸出漢字時都採用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。

漢字字型碼通常有兩種表示方式:點陣和矢量(輪廓)表示方法。漢字字型通常分為通用型和精密型。

用點陣表示字型時,漢字字型碼指的是這個漢字字型點陣的代碼。根據輸出漢字的要求不同,點陣的多少也不同。簡易型漢字為16*16點陣,提高型漢字為24*24點陣、32*32點陣、48*48點陣等等。點陣規模越大,字型越清晰美觀,所佔存儲空間也越大。註:字型碼所佔字節數=點陣行數*點陣列數/8。

矢量表示方式存儲的是描述漢字字型的輪廓特徵,當要輸出漢字時,通過計算機的計算,由漢字字型描述生成所需大小和形狀的漢字點陣。

矢量化字型描述與最終文字顯示的大小、解析度無關,因此可以產生高質量的漢字輸出。Windows中使用的TrueType技術就是漢字的矢量表示方式。

(5)漢字地址碼

漢字地址碼是指漢字庫中存儲漢字字型信息的邏輯地址碼。

(6)各種漢字代碼之間的關係

漢字的輸入、處理和輸出的過程,實際上是漢字的各種代碼之間的轉換過程,或者說是漢字代碼在系統有關部件之間流動的過程。

漢字輸入碼向內碼的轉換,是通過使用輸入字典實現的。

相關焦點

  • 來了解一下文件編碼!
    與數值信息一樣,為了便於在不同的系統之間進行交換,字符必須採用標準的二進位編碼表示。但字符和國家、地區的文化有關,情況非常複雜,本文主要介紹西文字符和漢字字符的常用編碼表示。       目前計算機中使用的最廣泛的西文字符集機器編碼就是ascii字符集和ascii碼,即美國信息交換標準碼。
  • 五筆打字技巧分享,漢字的編碼基礎
    我們學習五筆打字,我們首先要學習漢字的編碼基礎,我們要明白漢字是如何通過五筆打字的。漢字的編碼基礎首先我們要明白字根的含義,字根是由筆畫交叉而成的相對固定的結構,比如漢字「苦」,它是由「艹」和「古」構成,而「艹」和「古」就叫做字根。
  • ASCII碼和漢字編碼
    漢字編碼(1)漢字國標碼和區位碼計算機中一個漢字用兩個字節的編碼表示,我國制定了「中華人民共和國國家標準信息交換漢字編碼字符集(基本集GB2312—1980)」,簡稱國標碼,是計算機進行漢字信息處理和漢字信息交換的標準編碼。
  • 農民發明家和「漢字多用編碼」
    起初,村民只是覺得他有點神神秘秘的,當大家聽說他在搞漢字編碼時,不禁哄堂大笑,覺得邵德子純屬異想天開,甚至有人說他不務正業,就連媳婦也對他不理解,對此,邵德子毫不在乎。  就這樣,從1974年開始的10年時間中,他從未間斷漢字編碼研究工作。他把漢字的部首或筆畫歸結為10大類,每一類由所在類型的數字表示,第10類則用數字0表示,然後按漢字書寫的筆畫來給漢字編碼。
  • 基礎入門——編碼
    編碼編碼的介紹         程序開發經常會遇到編碼的問題,在學習Python這門語言之前,我們先來搞清楚編碼是什麼以及你未來會遇到什麼樣的編碼問題。         首先我們來看一下計算機語言中最常見的幾種編碼格式:       1.ASCLL (American Standard Code for Information Interchange)美國標準信息交換代碼,為美國英語通信所設計,由128個字符組成,包括大小寫字母、數字、列印字符及控制字符組成,Python2源碼文件默認使用
  • 漢字編碼擴充,終於可以打出這些生僻字了!
    不信的話大家可以試下,我保證評論區裡打不出這個字 ~~然而最近網上突然有個消息說, Unicode 組織已經把 biáng 字收錄進了「 CJK 統一表意漢字 」的擴展 G 區中,從今天開始正式生效。小夥伴們先冷靜,事情並不是這樣的,因為電腦裡的文字編碼和輸入法還不是一回事。換句話說就是,電腦裡能看到的,輸入法不一定能打出來。不過要想搞明白這件事兒,差評君得先和大家嘮嘮電腦裡的文字編碼是怎麼回事兒。
  • 你了解java中的幾種編碼方式?解決亂碼問題可能並不麻煩
    前言編碼的轉換通常在IO機制中使用,一個好的編碼可以為我們節省很多空間,在某種程度上提高我們應用的效率。由於之前就知道String中的轉換方式,還有一些工具類,因此今天就好好的整理一下java中jdk提供的幾種轉換方式,希望對你有幫助。
  • 論文推薦|[PR 2020]基於HDE編碼的零樣本手寫漢字識別
    論文主要是提出了一種HDE編碼方法,即將漢字的分解序列映射到一個Embedding空間,然後進行手寫漢字的零樣本識別。零樣本識別簡單來說就是測試集的類別沒有在訓練集中出現。由於漢字龐大的類別數、不常用漢字的樣本十分稀缺、數據標註的成本很高等原因,使得傳統的讓測試集類別出現在訓練集的識別策略會有很多的困難。如果可以做到零樣本識別,就可以一定程度上解決這些問題。
  • 臨潁:黃龍溼地公園來賞花,了解與花有關的趣味神奇漢字演變史
    賞花之前,您是否願意了解一下古人如何觀花造字?了解一下與花有關的趣味神奇的漢字演變歷史,一花一世界,一字一奧妙: 花,華,榮,英,草。看看「榮」「華」富貴,想想「花」開「花」又落;察察木「秀」於林,賞賞落「英」繽紛;讀讀離離原上「草」,悟悟一歲一枯「榮」。漢字文化,魅力無窮!
  • python字符的編碼與解碼
    了解進位數進位也就是進位計數制,是人為定義的帶進位的計數方法。對於任何一種進位---X進位,就表示每一位置上的數運算時都是逢X進一位。 十進位是逢十進一,十六進位是逢十六進一,二進位就是逢二進一,以此類推,x進位就是逢x進位。下面就來通過python中自帶的函數一起來驗證一下。
  • 編碼法拼圖黑科技了解一下
    編碼法拼圖黑科技了解一下6月19日遊戲更新之後上線了一系列十周年活動,其中就有十周年慶典拼圖活動了,單就獎勵來說拼圖活動的角色更名卡應該是不少玩家比較想要的,而且還有幾個十周年誠摯盒子,而且活動本身也比較簡單,運氣好的話大概一天一個角色全PL就可以肝出來了,但是拼圖本身還是比較繁瑣的,不少玩家反映拼完兩張過後眼睛就花了,昨天上線打了一個角色,得了70來個盒子,
  • 編碼解碼是什麼意思?URL 如何編碼解碼?為什麼要編碼?
    編碼解碼是什麼?編碼是信息從一種形式或格式轉換為另一種形式的過程,也稱為計算機程式語言的代碼簡稱編碼。用預先規定的方法將文字、數字或其它對象編成數碼,或將信息、數據轉換成規定的電脈衝信號。編碼在電子計算機、電視、遙控和通訊等方面廣泛使用。編碼是信息從一種形式或格式轉換為另一種形式的過程。解碼,是編碼的逆過程。
  • Python中常用的字符編碼,編碼解碼之間的轉換
    這本文章就把經常遇到的ASCII,Unicode 和 UTF-8給大家梳理一下。,它是現今最通用的單字節編碼系統。每個符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的大寫字母A,U+4E25表示漢字嚴。具體的符號對應表,可以查詢unicode.org,或者專門的漢字對應表。Unicode的問題:Unicode只是一個符號集,它只規定了符號的二進位代碼,卻沒有規定這個二進位代碼應該如何存儲。
  • 五筆打字—漢字的拆分
    首先,我們來學一學漢字在五筆打字中是怎麼拆分的。在我們學習漢字的拆分之前,我們先要了解一些基本術語。一,鍵面字所謂的鍵面字既是指基本字根又是指基本漢字的字。漢字拆分原則五筆字型漢字輸入法是一種"形"輸入法,錄入員看到一個漢字時,很快就能根據漢字的各部分字根寫出一個漢字編碼。但是為了提高漢字的錄入速度,就必須減少漢字輸入的重碼率以及單個漢字輸入的擊鍵次數。
  • 帶你走進編碼的世界——Unicode編碼
    美國人發明了計算機,設置了最早的編碼,他們只將數字、大小寫英文字母及一些符號一共128個字符編碼到計算機中。這套編碼表就是著名的ASCII編碼表,例如大寫字母A的二進位編碼為01000001,十進位編碼為65,十六進位編碼為41;小寫字母a的二進位編碼為01100001,十進位編碼為97,十六進位編碼為61。
  • ascii編碼與unicode編碼
    因此,最早只有127個字符被編碼到計算機裡,也就是 7位 2進位數字,最高位(第八位)為 0 。    這個編碼表被稱為 ascii編碼,比如大寫字母 H 的編碼是 72(16進位48),小寫字母 o 的編碼是 111(16進位6F)。    定義字符數組 szHello ,初值為 "Hello同學們"。
  • 【第1168期】字符編碼的故事
    中國的程式設計師們看到這一系列漢字編碼的標準是好的,於是通稱他們叫做 DBCS。Double Byte Charecter Set:雙字節字符集。一個漢字算兩個英文字符……」因為當時各個國家都像中國這樣搞出一套自己的編碼標準,結果互相之間誰也不懂誰的編碼,誰也不支持別人的編碼。連大陸和臺灣這樣只相隔了 150 海裡,使用著同一種語言的兄弟地區,也分別採用了不同的 DBCS 編碼方案。
  • 《神奇的漢字》第二季全面升級,浙大學生加入,打響爭奪戰
    錢江晚報·小時新聞記者 林夢芸 通訊員 金然今日,2020湖南衛視全新漢字益智挑戰節目《神奇的漢字》第二季正式宣布定檔,5月18日起每周日到周四晚19:30與大家準時見面。繼第一季「全民8秒漢字挑戰」之後,《神奇的漢字》第二季華麗歸來,玩法全新升級、選題全面拓寬、舞美更多驚喜。本季節目將邀請年輕一代對中華文字熱愛的漢字新生進行激烈對決,深度解讀漢字魅力,讓漢字知識變得更有趣、更生動、更年輕。
  • 常用字符編碼介紹
    在百度百科中,是這樣定義的,字符編碼(Character encoding)也叫字符碼,是把字符集中的字符編碼為指定集合中某一對象(例如:比特模式、自然數序列、8位組或者電脈衝),以便文本在計算機中存儲和通過通信網絡的傳遞。
  • 漢字規範書寫1:最常用漢字獨體字的易錯筆順
    下面介紹一種用漢字五筆編碼的方法標註漢字的筆畫順序。在智慧型手機上,大多輸入法都有漢字五筆的輸入程序,可以學一學,鍛鍊一下,尤其是語文教師。把漢字所有筆畫都規定為「橫、豎、撇、點、折」五個基本筆畫。我們用阿拉伯數字「12345」分別代表「橫豎撇點折」筆畫,這就是一種常用的五筆編碼。不同於計算機打字輸入所使用的「五筆」輸入法,這只是記錄筆順筆畫的符號。