字符集与emoji

目标
了解字符集的来源

了解emoji的来源

了解emoji的字符编码

常见字符集问题

字符集的来源
所谓字符集(Character Set)简而言之就是字符(Character)的集合,常见的字符有数字、字母、标点符号、功能符号等;字符又是由字节(Byte)组成,字节是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符,一个字节存储8位无符号数,储存的数值范围为0-255。这里的【位】指的是二进制数字0或1。字节通常简写为【B】,而位通常简写为小写【b】,计算机存储器的大小通常用字节来表示。总结来说,位组成字符(通常是8位,但是其他系统可能是6位或者其他位),字符组成字符集。

明白了了字符集的含义,我们需要了解一下字符集的历史。因为计算机只识别0和1,但是对于人类来说0和1理解比较麻烦,人们常用的是自然语言,此时有些人考虑是否可以把自然语言转化为机器语言,使用时输入自然语言但是计算机运行时有转化为0或1,这样编译器就诞生了。程序员常用的编程语言通常是高级语言,编译器把高级语言编译成汇编语言,再把汇编语言转化为机器语言。举个例子,我们键盘输入的字符通产会被编译成0和1组成的字节存储到计算机中,而屏幕显示时计算就有会把0和1转化为原来输入的字符。在使用计算机的过程中,发现同样系统的计算机字符通常转化为固定二进制编码,这些字符和二进制编码的关系被整理出来,形成类最初的字符和二进制编码的映射表,即字符集;字符集就是字符和二级制编码的映射关系表。

早期因为不同的计算机系统的字符集不同,为了统一字符集,制定了最早的一版字符集标准ASCII(American Standard Code for Information Interchange,美国信息互换标准编码),这是基于罗马字母表的一套电脑编码系统,这个字符集是有7位表示一个字符,从0到127一共128个字符。后面发现128个字符不够使用,又对字符进行了扩展,使用8位表示一个字符,这样可以使用0到255共256个字符。这里需要注意的是这个字符集不包含中文,只有西方常用的字母、数字、常用符号等。中文的字符集主要有GB2312、BIG5、GBK、GB18030。GB2312是中国大陆最早的中文字符集标准,使用双字节(16位)表示中文字符。BIG5是中国台湾地区的中文字符集标准,也是使用双字节(16位)表示中文字符,但是内容要比GB2312要多,里面有繁体字符,GB2312是没有繁体字符的。GB18030是2000年中国政府退出的最新中文字符集标准,基本包含了ASCII、GB2312、BIG5的内容,采用单字节(8位),双字节(16位),四字节(32位)三种方式表示字符,其中单字节表示ASCII、双字节表示中文字符、四字节表示扩展字符,这个字符集标准在东亚地区广泛使用。GBK(Chinese Internal Code Specification,汉字内码扩展规范,GBK即“国标”、“扩展”汉语拼音的第一个字母)是GB18030的前身,GB2312使用过程中发现字符不够用,就对GB2312进行了扩展,后面逐渐形成了GB18030字符集标准。最后是Unicode(Universal Multiple-Octet Coded Character Set,简称万国码)字符集编码标准,如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言。UTF-8是Unicode的其中一个使用方式。 UTF是 Unicode Tranformation Format,即把Unicode转做某种格式的意思。UTF-8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。UTF-32、UTF-16和 UTF-8 是 Unicode 标准的编码字符集的字符编码方案,UTF-16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;UTF-32 即将每一个 Unicode 代码点表示为相同值的 32 位整数。我们常用的就是UTF-8、GBK、ASCII、GB18030等字符集,这些字符集在我们编程是经常会用到,需要熟练掌握,下面这张表格列举了字符集的内容和特点。

字符集编码

包含内容

存储方式

ASCII

ASCII基础字符集:控制字符、回车键、退格、换行键等。可显示字符:英文大小写字符、阿拉伯数字和西文符号。

ASCII扩展字符集:表格符号、计算符号、希腊字母和特殊的拉丁符号。

ASCII基础字符集:7位(bits)表示一个字符,共128字符,字符值从0到127。

ASCII扩展字符集:使用8位(bits)表示一个字符,共256字符&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值