Character Set / 字符集:理解字符集 / Unicode字符集 / 字符范围 / Character Set

一、理解字符集

1.1、字符集(Character Set)

字符集是计算机科学中的一个基础概念,它用于表示文本中的字符。在计算机中,字符并不能直接处理,而是需要通过特定的编码方式,将字符与其在计算机内存或存储设备中的二进制表示联系起来。这种映射过程通常称为字符编码(Character Encoding)。

1.2、字符集与字符编码的关系

字符集和字符编码是两个相关但不同的概念。字符集定义了一个符号与对应编号的集合,而字符编码则定义了如何将字符集中的字符转换为二进制数据。例如,Unicode是一个字符集,而UTF-8、UTF-16是Unicode的不同编码方式。

1.3、字符集的重要性

字符集在文本处理、文件传输、网络通信等场景中起着至关重要的作用。选择合适的字符集和编码方式不仅可以避免乱码问题,还能提升系统的兼容性和性能。在现代应用中,Unicode和UTF-8已经成为最广泛使用的标准。

二、常见字符集及其特点

2.1、ASCII字符集

定义:ASCII(American Standard Code for Information Interchange)是最早的字符集之一,最初用于表示英文字符。

特点:使用7位二进制数来表示128个字符,包含基本的字母、数字、标点符号以及一些控制字符。ASCII字符集主要用于早期的计算机系统。后来为了表示更多的欧洲常用字符,对ASCII进行了扩展,使用8位表示,共256个字符。

2.2、GB2312字符集

定义:GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,是中国国家标准的简体中文字符集。

特点:兼容ASCII编码,对字节进行判断。如值<=127,则意义等同于ASCII编码;如值>127,则它需要跟其后的另一个字节合并表示一个字符。GB2312可以表示6763个汉字和682个非汉字符号。

2.3、BIG5字符集

定义:BIG5字符集又称为大五码或五大码,是台湾地区使用的繁体中文字符集。

特点:使用双字节储存方法,以两个字节来编码一个字。第一个字节称为“高位字节”,第二个字节称为“低位字节”。BIG5字符集共收录13053个中文字,其中重复地收录了两个相同的字:“兀”(0xA461及0xC94A)、“嗀”(0xDCD1及0xDDFC)。

2.4、GBK字符集

定义:GBK字符集是对GB2312字符集的扩展,支持更多汉字和符号。

特点:兼容GB2312编码,利用了GB2312编码闲置的编码空间。GBK字符集可以表示21886个字符。

2.5、Unicode字符集

定义:Unicode是一个能够涵盖全球几乎所有语言字符的字符集标准。

特点:旨在解决不同字符集间的兼容问题,支持从基本拉丁字母到汉字、阿拉伯字母等各类字符。Unicode字符集有多个编码方式,分别是UTF-8、UTF-16和UTF-32。其中,UTF-8编码使用1到6个字节来编码Unicode字符,具有良好的兼容性,适用于网页等需要支持多语言文本的场合。

三、Unicode字符集-字符范围

序号字符集字符范围理解
1Unicode[\u4e00-\u9fa5]中日韩统一表意文字(CJK Unified Ideographs)的基本区(Basic Block)。这个范围包括了20902个码位,主要用于编码汉字,但也包含了一些其他与汉字相关的符号和字符。
字符范围“[\u4e00-\u9fa5]”表示的是Unicode编码中汉字的基本区域,涵盖了绝大多数常用的中文字符。这个范围包括了从Unicode编码U+4E00(“一”)到U+9FA5(“龥”)的所有字符,这些字符主要对应于汉字。
在这个范围内,包含了数千个汉字,涵盖了现代汉语中常用和不常用的各种字。这些字符在计算机系统中广泛用于表示中文文本,无论是网页、文档还是其他需要显示中文的场景。
如果您在使用这个字符范围进行文本处理或编程,通常意味着您要处理的是包含中文字符的文本数据。例如,在正则表达式中使用这个范围可以匹配任何中文字符,这对于中文文本处理非常有用。
2Unicode[\u4e00-\u9fff]基本汉字区块扩展:这个范围比“[\u4e00-\u9fa5]”更广泛,包括了更多的汉字字符。
3Unicode[\u3400-\u4dbf]扩展A汉字区块:这个范围包含了额外的汉字字符,主要用于扩展汉字的基本字符集。
4Unicode[\u20000-\u2a6df] 和
[\u2a700-\u2b73f]
扩展B汉字区块和扩展C汉字区块:这两个范围包含了更多的生僻字和异体字,进一步扩展了汉字的字符集。
5Unicode[\u3000-\u303F]中文标点:常见的中文标点如逗号、句号、括号等位于[\u3000-\u303F]范围内,这个范围被称为CJK符号和标点。
6基本拉丁字符和扩展字符范围
7Unicode[\u0000-\u007F]在 Unicode 中表示的是基本ASCII字符集的范围。ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)最初是基于拉丁字母的一套字符编码系统,用于表示文本中的字符。
基本拉丁字符集,包括ASCII字符集,如大写字母A-Z(U+0041-U+005A)、小写字母a-z(U+0061-U+007A)等。
8Unicode[\u0080-\u00FF]拉丁字符集1的增补,包含一些额外的拉丁字符和符号。
9Unicode[\u0100-\u017F]拉丁字符扩展集A,包含一些带有重音符号的拉丁字符。
10Unicode[\u0180-\u024F]拉丁字符扩展集B,包含更多特殊的拉丁字符。
这个范围涵盖了从 \u0180 到 \u024F 的字符,主要用于扩展拉丁字母集,包括一些额外的变体和特殊字符。
11其他语言字符范围
12Unicode[\u0370-\u03FF]希腊字符及其科普特字符,包括大写和小写的希腊字母。
13Unicode[\u0400-\u04FF]西里尔字符,主要用于俄语、乌克兰语等使用西里尔字母的语言。
14Unicode[\u0590-\u05FF]希伯来字符,用于书写希伯来语。
15Unicode[\u0600-\u06FF]阿拉伯字符,用于书写阿拉伯语。
16Unicode[\u1100-\u11FF]朝鲜文字母(谚文字母),用于书写韩语。
17Unicode[\u3040-\u309F]平假名,日语的一种书写形式。
18Unicode[\u30A0-\u30FF]片假名,日语的另一种书写形式。
19标点符号和特殊符号范围
20Unicode[\u2000-\u206F]常用标点和其他符号,如空格、破折号、省略号等。
21Unicode[\u2600-\u26FF]杂项符号,包括一些图形符号,如心形、星形等。
22Unicode[\u3000-\u303F]CJK符号和标点,包括中文标点和其他CJK语言的标点。
23数学和科学符号范围
24Unicode[\u2200-\u22FF]数学运算符,包括加法、减法、乘法、除法等符号。
25Unicode[\u2100-\u214F]字母式符号,包含一些用于数学的特殊字符,如黑体字母、罗马数字等。
26表情符号和图形符号范围
27Unicode[\u1F600-\u1F64F]表示的是表情符号(Emoji)的一个子集,具体来说是基本表情符号(Basic Emojis)的范围。这些表情符号通常用于数字通信中,以图形化的方式表达情感、物体或概念,增强文本信息的表达力和趣味性。
28Unicode[\u1F300-\u1F5FF]

[\u1F300-\u1F5FF] 在 Unicode 中代表的是一个包含多种表情符号(Emoji)和其他图形符号的范围。这个范围被细分为几个子块,包括:

\u1F300-\u1F37F:这个子块包含了多种符号和象形文字,比如旗帜、交通和地图符号、天气符号、时钟符号等。

\u1F380-\u1F3FF:这个子块主要是各种对象和工具的符号,比如乐器、游戏、文具、日常用品等。

\u1F400-\u1F5FF:这个子块是表情符号的主要部分,涵盖了各种笑脸、手势、人物、动物、食物、植物、建筑、交通工具等图形符号。

29.........
Unicode编码方案是一个不断发展和扩展的标准。随着新字符和符号的不断增加,Unicode字符集的范围也在不断扩大。因此,在使用Unicode字符范围时,建议查阅最新的Unicode标准文档或相关资源以确保准确性。
此外,对于编程和文本处理来说,了解和使用Unicode字符范围非常重要。这有助于确保文本数据的正确显示和处理,尤其是在处理多语言文本时。在正则表达式、文本编码转换、字体处理等场景中,正确使用Unicode字符范围可以提高效率和准确性。

四、欢迎交流指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值