Unicode字符集的由來


Unicode字符集的由來

本文起源於行走在陽光下的那些不可見字符中的知識邊界,因為涉及到字符相關,而我也不能很清楚的描述Unicode的前世今生,故而有了此文。

計算機技術的革命極大地方便了人們的工作與生活,使得人類生活前進了一大步,可是在計算機發展進程中,世界各地由於語言文字不一,有過那么一段混亂難受的日子...

字符世界的起源

由於計算機在美國誕生,因此字符集最初也只考慮了美國人當時的需求,誕生了大家熟知的ASCII(American Standard Code for Information Interchange),它由26個基本拉丁字母、阿拉伯數字、英式標點符號和一些控制字符組成。 

隨着世界的發展,各國人民也開始接觸計算機,然而各國人民也有自己獨特的文化需求,最開始的字符集滿足不了人們日益增長的需求,各國出現了不同的字符集標准,比如國內早期的Java程序員熟知的GBK、GB18030等,我曾經實習的時候接觸的用JSP的老系統里就有相關的編碼設定,如果用錯誤編碼設定了文檔解析格式,可能就會看到亂碼,再想想世界上那么多個國家,會有多少編碼標准啊,這也是互聯網早期亂碼比較多的原因吧。

各種編碼的字符互不兼容,相互之間的通信可能由於編碼的不同,而導致對方看到的是亂碼,這就如中國歷史中的大秦統一文字和度量單位之前的華夏文明一樣,語言不通、貨幣不通,交流困難。時間的車輪滾滾向前,推動着歷史的發展,於是Unicode(Universal Coded Character Set)出現了,它對世界上大部分的文字系統進行了整理、編碼,使得計算機能夠以更簡單的方式來呈現和處理字符,它的目的就是為所有的字符提供統一的編碼,任何的平台、系統、設備、應用或者語言都能兼容且無風險使用。

至今Unicode仍在不斷的增修,當前最新版本為2019年5月公布的12.1,包含137994個字符,不僅包括當今世界上150種語言模型和歷史性的手寫碼和符號,還包括多種符號集與表情符號。

Unicode

九層之台,起於累土。這樣世界性的標准絕不是一蹴而就,必有其堅實的基礎,設計原則就是Unicode的一大基礎,在《The Unicode Standard Version 6.2 - Core Specification》有提到Unicode的設計原則,

我們熟知的UTF-8其實是Unicode的一種實現方式,即Unicode 轉換格式(Unicode Transform Format),是一種為了減少傳輸數據的大小而設計的變長編碼,每個字符使用1/2/3字節按照一定算法進行轉換識別。此外,Unicode的實現方式還包括UTF-7、UTF-16、UTF-32、punycode、GB18030等。

總的來說,Unicode於亂世出生逐漸成為標准統一字符世界,至今仍持續發展,造福了社會,極大的提升了生產效率,雖未與ASCII並列與IEEE里程碑,但也是計算機科學史中一件舉足輕重的大事記。

本次探索到此結束,全文本着追溯Unicode是什么為什么產生等問題,進行了一系列追尋,大致理清了Unicode的一些“前世今生”,基本對Unicode能夠有個大概的認知,需要更加深入的探索的小伙伴可以留言一起探討~

ps: 及時總結,靜心沉淀;如風少年,砥礪前行。

冬至快樂~

如想了解更多,請移步我的博客

歡迎關注我的公眾號 “和F君一起xx”

reference:

  1. Unicode Zh
  2. Unicode En
  3. Unicode Charts Index
  4. Unicode Character Database
  5. IEEE里程碑列表
  6. ENIAC
  7. ASCII
  8. Unicode Script


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM