Unicode字符集的由来

本文起源于行走在阳光下的那些不可见字符中的知识边界,由于涉及到字符相关,而我也不能很清楚的描述Unicode的前世此生,故而有了此文。程序员

计算机技术的革命极大地方便了人们的工做与生活,使得人类生活前进了一大步,但是在计算机发展进程中,世界各地因为语言文字不一,有过那么一段混乱难受的日子...算法

字符世界的起源

因为计算机在美国诞生,所以字符集最初也只考虑了美国人当时的需求,诞生了你们熟知的ASCII(American Standard Code for Information Interchange),它由26个基本拉丁字母、阿拉伯数字、英式标点符号和一些控制字符组成。 ASCII表编码

随着世界的发展,各国人民也开始接触计算机,然而各国人民也有本身独特的文化需求,最开始的字符集知足不了人们日益增加的需求,各国出现了不一样的字符集标准,好比国内早期的Java程序员熟知的GBK、GB18030等,我曾经实习的时候接触的用JSP的老系统里就有相关的编码设定,若是用错误编码设定了文档解析格式,可能就会看到乱码,再想一想世界上那么多个国家,会有多少编码标准啊,这也是互联网早期乱码比较多的缘由吧。.net

各类编码的字符互不兼容,相互之间的通讯可能因为编码的不一样,而致使对方看到的是乱码,这就如中国历史中的大秦统一文字和度量单位以前的华夏文明同样,语言不通、货币不通,交流困难。时间的车轮滚滚向前,推进着历史的发展,因而Unicode(Universal Coded Character Set)出现了,它对世界上大部分的文字系统进行了整理、编码,使得计算机可以以更简单的方式来呈现和处理字符,它的目的就是为全部的字符提供统一的编码,任何的平台、系统、设备、应用或者语言都能兼容且无风险使用。设计

至今Unicode仍在不断的增修,当前最新版本为2019年5月公布的12.1,包含137994个字符,不只包括当今世界上150种语言模型和历史性的手写码和符号,还包括多种符号集与表情符号。code

Unicode

九层之台,起于累土。这样世界性的标准毫不是一蹴而就,必有其坚实的基础,设计原则就是Unicode的一大基础,在《The Unicode Standard Version 6.2 - Core Specification》有提到Unicode的设计原则,Unicode Design Principlesorm

咱们熟知的UTF-8实际上是Unicode的一种实现方式,即Unicode 转换格式(Unicode Transform Format),是一种为了减小传输数据的大小而设计的变长编码,每一个字符使用1/2/3字节按照必定算法进行转换识别。此外,Unicode的实现方式还包括UTF-七、UTF-1六、UTF-3二、punycode、GB18030等。blog

strawberry

总的来讲,Unicode于乱世出生逐渐成为标准统一字符世界,至今仍持续发展,造福了社会,极大的提高了生产效率,虽未与ASCII并列与IEEE里程碑,但也是计算机科学史中一件举足轻重的大事记。进程

本次探索到此结束,全文本着追溯Unicode是什么为何产生等问题,进行了一系列追寻,大体理清了Unicode的一些“前世此生”,基本对Unicode可以有个大概的认知,须要更加深刻的探索的小伙伴能够留言一块儿探讨~ip

冬至快乐哦~

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
相关文章
相关标签/搜索