`

ASCII, GB2312, Unicode , UTF-8

阅读更多
davies 发表于 2005-4-5 15:01 | 分类: Programming ::

<script type="text/javascript">google_ad_client = "pub-6933928009274930";google_ad_width = 600;google_ad_height = 15;google_ad_format = "468x15_0ads_al_s";// 链接文字google_ad_channel = "5496423604";google_color_border = "FFFFFF";google_color_bg = "FFFFFF";google_color_link = "0000FF";google_color_text = "000000";google_color_url = "008000";</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
ASCII 是一种字符集,包括大小写的英文字母、数字、控制字符等,它用一个字节表示,范围是 0-127

由于 ASCII 表示的字符非常有限,各个国家或者地区在此基础上提出了自己的字符集,比如在中国应用非常广泛的 GB2312,它为汉字提供了编码,用两个字节表示。

这些字符集之间互不兼容,相同的数字可能表示不同的字符,为信息交流带来了麻烦。

Unicode 是一种字符集,它将世界上的所有字符映射成一个唯一的数字(code point),比如字母 a 对应的数字 0x0041。目前 Unicode 还处于发展中,它所包容的字符越来越多。

在将 Unicode 表示的字符进行存储时,还需要一定的编码方式,比如 UCS-2,它用两个字节来表示 Unicode 编码的字符。而 UTF-8 是 Unicode 字符集的另外一种编码方式,它是变长度的,最多 6 个字节,小于 127 的字符用一个字节表示,与 ASCII 字符集的结果一样,因而具有非常好的兼容性,ASCII 编码下的英语文本不需要修改就可以当作 UTF-8 编码进行处理,应用非常广泛。

Python 从 2.2 开始支持 Unicode ,函数 decode( char_set )可以实现 其它编码到 Unicode 的转换,函数 encode( char_set )可以实现 Unicode 到其它编码方式的转换,这里所讲的 Unicode String 是指 UCS-2 或者 UCS-4 编码的 Code Points。

比如 ("你好").decode( "GB2312") 将得到 u'\u4f60\u597d',即 "你"和“好"的 Unicode 码分别是 0x4f60 和 0x597d
再用 (u'\u4f60\u597d').encode("UTF-8") 将得到 '\xe4\xbd\xa0\xe5\xa5\xbd',它是  “你好”的UTF-8编码结果。

参考资料:
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) (Joel Spolsky)

Unicode for Programmers (includes Unicode in Python) (Jason Orendorff)

Python Unicode Objects (Fredrik Lundh)

Python Unicode Tutorial (ReportLab)

End to End Unicode Web Applications in Python (Martin Doudoroff)

Unicode in Python (Thijs van der Vossen)

Unicode 官方网站 http://www.unicode.org/

Unicode 的中文介绍

GB2312字符集


UCS 和 UTF 的介绍

 
分享到:
评论

相关推荐

    gb2312与utf-8转换

    "GB2312" 和 "UTF-8" 是两种常见的字符编码格式,它们各自有其特性和应用场景。本文将深入探讨这两种编码方式,并介绍它们之间的转换方法。 GB2312,全称为“汉字内码扩展规范”,是中国大陆最早广泛使用的简体中文...

    GB2312转UTF-8(C代码)

    GB2312和UTF-8是两种不同的字符编码标准,它们各自有其特点和适用范围。本资源提供了一个C语言实现的GB2312到UTF-8的转换函数,方便开发者在需要进行这种编码转换时使用。 GB2312是中国大陆早期广泛使用的简体中文...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...

    GB2312与UTF-8互转程序,包含源代码,MAKEFILE,及最终库,百分百直接使用

    例如,如果你有一个GB2312编码的文件,而你的系统或程序默认使用UTF-8,那么你需要将GB2312转换为UTF-8才能正确显示文本。反之亦然,如果你接收到的是UTF-8编码的文本,而你的系统或程序只支持GB2312,你就需要进行...

    js gb2312和utf-8互转

    由于直接的UTF-8到GB2312的转换较为复杂,通常的做法是先将UTF-8字符串转换为Unicode格式,然后再从Unicode转换为GB2312。具体实现可以参考相关库或者利用现有的工具函数完成这一过程。 通过上述步骤,我们可以在...

    网页编码转换工具GB2312转换UTF-8

    “GB2312转换UTF-8”工具提供了一种便捷的解决方案,能够将使用GB2312编码的文件转换为UTF-8编码,确保在各种设备和浏览器上都能正常显示。同时,工具也支持反向操作,即UTF-8转GB2312,以满足特定场景的需求。 ...

    编码转换器 绿色版 gb2312 gbk utf-8

    常见的字符编码有ASCII、GB2312、GBK、Big5和UTF-8等。 - **GB2312**:全称为“汉字机内码”,是中国大陆最早的一种简体中文字符集,主要包含常用汉字和部分符号,总共6763个字符。 - **GBK**:是GB2312的扩展...

    gb2312转utf-8

    例如,`gbunicode.h`可能会定义GB2312到Unicode的转换表,而`gb2u.h`可能包含转换函数的声明,如`gb2utf8()`,用于将GB2312编码的字符串转换成UTF-8。 在实际应用中,这种转换功能可以用于处理旧的GB2312编码的文件...

    utf-8 互转 gb2312 转码

    首先,我们需要将UTF-8编码的字符串解码为Unicode,然后将Unicode转换为GB2312编码。反之,从GB2312转到UTF-8也是同样的逻辑,只是方向相反。 在Python编程语言中,我们可以使用`encode()`和`decode()`方法进行转码...

    字符编码转换(GB2312,UTF-8,UNICODE)

    本文将深入探讨GB2312、UTF-8和UNICODE这三种常见的字符编码,并介绍如何进行编码转换。 1. GB2312编码:GB2312,全称为“汉字国标交换码”,是中国大陆于1980年制定的一套汉字编码标准。它主要用于简体中文,包含...

    gb2312 和utf-8 互转工具

    GB2312和UTF-8是两种常见的字符编码标准,它们各自有着不同的特点和应用场景。 GB2312,全称“汉字国标交换码”,是中国国家标准的简体中文字符集,主要针对中国大陆地区使用。它在1980年发布,设计时主要考虑了...

    ASCII Unicode 和UTF-8区别

    ASCII Unicode 和 UTF-8 的区别 ASCII 码是美国在 20 世纪 60 年代制定的字符编码标准,它规定了 128 个字符的编码,每个字符对应一个二进制代码,共占用一个字节的后 7 位,最前面的 1 位统一规定为 0。ASCII 码...

    GB2312与UTF-8互转

    2. UTF-8到GB2312:解析UTF-8的字节序列,判断字符的长度,然后将Unicode码点转换回GB2312的双字节形式。需要注意的是,不是所有的Unicode字符都能映射到GB2312,因为GB2312仅覆盖了部分汉字和符号。 在实际应用中...

    UTF-8 Unicode GBK GB2312 编码之间的区别和联系

    ### UTF-8、Unicode、GBK、GB2312 编码之间的区别和联系 #### 一、引言 在互联网技术中,字符编码是非常重要的基础概念之一。字符编码不仅决定了文本在网络上的传输效率,还直接影响到了不同国家和地区用户访问...

    用javascript实现gb2312转utf-8的脚本

    在实现gb2312到utf-8的转换时,我们需要注意 gb2312的编码范围为2121H-777EH,对于ASCII字符它也使用两字节表示。同时,我们也需要注意UNICODE是一种两字节的全编码,对于ASCII字符它也使用两字节表示。 本文提供了...

    C#写的 GBK GB2312 UTF-8转换

    GBK、GB2312和UTF-8是三种常见的字符编码标准,每种都有其特定的应用场景和特点。C#作为.NET框架下的主要编程语言,提供了丰富的类库支持对不同编码格式之间的转换。 1. **GBK编码**:GBK是中国大陆广泛使用的汉字...

    批量转 GBK 转 UTF-8 gb2312 Iso-8959-1 转 UTF-8

    在标题和描述中提到的“批量转 GBK 转 UTF-8”、“gb2312 转 UTF-8”以及“Iso-8859-1 转 UTF-8”是指将使用这些编码格式的文件转换成UTF-8编码。这是因为UTF-8具有广泛的兼容性和通用性,许多系统和软件默认使用UTF...

    ASCII/GB2312/UTF-8/Unicode编码 字符串与字节转换查看源码

    ASCII/GB2312/UTF-8/Unicode编码 字符串与字节转换查看源码。采用Visual Studio 2008开发,使用C# Windows Form编写,代码简单易懂。 输入:CSDN-全球最大中文IT社区。 选择:GB2312 结果:4353444E2DC8ABC7F2D7EEB...

    gb2312和utf-8文件编码互换工具

    3. **编码转换工具**:这个名为"gb2312和utf-8文件编码互换工具"的程序,能够帮助用户将文件从GB2312编码转换成UTF-8编码,反之亦然。这对于处理不同编码格式的数据源,或者在不同系统间迁移文件时非常有用。例如,...

    编码查询 各种文本转到 unicode utf-8 gb2312 编码 unicode utf-8 gb2312 编码转换到文字

    本文将深入探讨“编码查询”这一主题,包括Unicode、UTF-8和GB2312编码之间的转换,并讨论如何将这些编码转换为可读的文字。 首先,我们要理解编码的基本概念。编码是将字符(如字母、数字、符号)转化为二进制表示...

Global site tag (gtag.js) - Google Analytics