浅谈字符集和编码

简介:

编码字符集:将抽象字符集中每个字符赋予一个数字代码,一般由标准组织制定,unicode就是一种典型的编码字符集。

字符集编码:是一套将一个字符的整数编号对应到一个二进制字节流的法则,典型的有基于unicode的utf-8。


ANSI(American National Standards Institute)字符集:

ASCII字符集+MBCS(Multi-Byte Character System)字符集,如GB2312。

ASCII: 最初,ANSI只包括一种字符集(ASCII-American Standard Code for Information Interchange)。ASCII码使用7bit表示一个字符,共128个字符。之后IBM在此基础上做了扩展,用8bit表示1个字符,共256个字符,称为ISO-8859-1字符集

MBCS: 为使计算机支持更多语言,这些派生的字符集通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符. 汉字 '中' 在中文操作系统(使用ANSI编码)中,使用 [0xD6,0xD0] 这两个字节存储。在简体中文系统下,MBCS编码代表 GB2312 编码,在繁体中文系统中,MBCS编码代表BIG5,日文操作系统下,MBCS 编码代表 JIS 编码。


Unicode:由于ANSI字符集在不同语言环境下的不统一,导致字符集太多,国际交流中也需要进行字符集转换,带来很大不便。于是出现了unicode字符集。该字符集使用16bit代表一个字符,可表示65536个字符。使用Unicode字符集时,方法strlen对一个中文字符执行的结果是1。为了在网络上传输unicode字符,Unicode可以有多种编码方式,如UTF-16, UTF-8, UTF-32等


GB***:最初指的是一个编码字符集, 其中包含了ASCII所包含的英文字符,同时加入了6763个简体汉字以及其他一些ASCII之外的符号。GB2312也有自己的编码方案,但这个方案直接使用一个字符在GB2312中的编号作为存储值(与UTF-32的做法类似),也因此,这个编码方案甚至没有正式的名称。我们日常说起GB2312的时候,常常即指这个字符集,也指这种编码方案。


其实简单来说,unicode是编码字符集,utf-8,uft-16之类是针对unicode的字符集编码,gbk既是编码字符集又是字符集编码。



本文转自 古道卿 51CTO博客,原文链接:http://blog.51cto.com/gudaoqing/1282435

相关文章
|
1月前
|
存储 自然语言处理 C++
Unicode编码
Unicode编码
25 4
|
4月前
|
存储 JavaScript Java
[字符编码] 理论篇:常见字符集与编码方式
[字符编码] 理论篇:常见字符集与编码方式
66 0
|
9月前
|
存储 Java 关系型数据库
【精炼易懂】字符集、编码、乱码问题、ASCII、GBK、Unicode、UTF-8详解+实例说明
【精炼易懂】字符集、编码、乱码问题、ASCII、GBK、Unicode、UTF-8详解+实例说明
4970 4
|
存储 编解码 算法
字符编码的前世今生
字符编码的前世今生
129 0
|
存储 XML SQL
字符编码与使用中的问题
作为中文环境下开发的Java程序员,UTF-8编码是我们经常使用的编码方式。 字符编码是怎么来的?为什么使用UTF-8编码?使用字符编码的时候回遇到什么坑? 这些问题你遇到过或者思考过吗。
122 0
|
关系型数据库 MySQL Shell
latin1字符集的数据转换为utf8字符集
latin1字符集的数据转换为utf8字符集
854 0
|
存储 编解码 Windows
理解字符编码
理解字符编码
理解字符编码
|
存储 自然语言处理 JavaScript
【字符编码】彻底理解字符编码
在解决昨天的问题时,又引出了很多新的问题,如为什么要进行编码,这些编码的关系如何,如ASCII,IOS-8859-1,GB2312,GBK,Unicode之间的关系,笔者想要彻底理解字符编码背后的故事,遂进行了探索,具体笔记如下。如园友能读完本篇文章,我相信会解开很多疑惑
253 0
【字符编码】彻底理解字符编码
|
存储 自然语言处理 JavaScript
【字符编码】彻底理解字符编码
 在解决昨天的问题时,又引出了很多新的问题,如为什么要进行编码,这些编码的关系如何,如ASCII,IOS-8859-1,GB2312,GBK,Unicode之间的关系,笔者想要彻底理解字符编码背后的故事,遂进行了探索,具体笔记如下。如园友能读完本篇文章,我相信会解开很多疑惑。
263 0
【字符编码】彻底理解字符编码
|
存储 小程序 Windows
字符编码
字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
149 0

热门文章

最新文章