`

ANSI与Unicode字符编码简介

阅读更多

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等

写道
UTF-16 : 标准的Unicode称为UTF-16(UCS Transformation System)。这种编码方式由于采用两个字节表示一个字符,所以与ASCII码不兼容

UTF-8 : 为了双字节的unicode可在单字节系统正确传输,出现了UTF-8。通过UTF-8编码的字节长短不同,0-127范围内的字符被编成1个字节,0080-07ff的字符被编成2个字节,0800-ffff的字符被编成3个字节...

 
一共有三类编码:

  • ANSI(ISO-8859-1,GBK,GB2312,BIG5等)
  • UCS(UCS2,UCS4)
  • UTF(UTF7 UTF8 UTF16)

其 中 所有的编码都可以转成UCS,UTF是UCS为了节省空间的一种存储方式(使用huffman编码的理论的变长编码,如果全部都是e文的话可以有效地压缩 成UTF8,如果是中文编码成UTF8反而会浪费空间)。ANSI各个编码之间不存在抓换关系只存在极少数的对应关系(比如每个ANSI编码都必须包含英 文,又比如简体字与繁体字之间的对应关系使GBK和BIG5之间的某些编码存在对应关系,这种关系是无规律的)。

ISO-8859-1 和GB2312是不能直接转的。他们都属于ANSI编码。

分享到:
评论

相关推荐

    易语言Ansi与Unicode转换源码

    本主题主要关注的是易语言中的Ansi与Unicode字符编码之间的转换源码。 Ansi编码和Unicode编码是两种广泛使用的字符表示方式。Ansi编码,也常被称为本地化编码或代码页编码,通常是基于特定区域或国家的标准,如GBK...

    ANSI字符串与Unicode字符串的相互转换

    ANSI字符串和Unicode字符串是两种常见的字符编码方式,它们各自有其特点和应用场景。本篇文章将详细探讨ANSI字符串与Unicode字符串的相互转换及其重要性。 首先,我们要理解ANSI字符串的概念。ANSI字符串实际上是一...

    Ansi、Unicode、UTF8字符串之间的转换,wprintf

    今天我们将详细介绍这三种编码方式之间的转换,包括 Ansi 转 Unicode、Unicode 转 Ansi,以及使用 wprintf 函数进行字符串输出。 Ansi 字符串 Ansi 字符串是我们最熟悉的一种编码方式,英文字符占用一个字节,汉字...

    Ansi Unicode UTF8编码转换及代码示例

    - **ANSI编码**:ANSI(American National Standards Institute)编码是一种根据操作系统语言环境变化的字符编码方式,其主要适用于英文环境下。ANSI编码通常指的是某个特定平台上的本地编码,例如在Windows系统中,...

    精选_Ring0内核层下字符串基础操作之Ansi与Unicode字符串类型互转_源码打包

    本篇将重点讲解在内核层下进行Ansi(ASCII)字符串与Unicode字符串之间的转换。 Ansi字符串是基于ASCII字符集的,每个字符占用一个字节。ASCII字符集包含128个字符,基本覆盖了英文和其他一些符号。而Unicode字符串...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    1. ANSI编码:通常指的是Windows系统的默认编码,如GBK或CP936,它是一种多字节编码,不支持所有Unicode字符。 2. Unicode:这是一个标准,定义了所有已知字符的唯一数字表示,分为Little Endian和Big Endian两种...

    Unicode和ANSI对照表

    就是Unicode和ANSI码的...有些Unicode字符在ANSI中是没有的,它们的ANSI码是“63”(问号)或者“9”(不可见字符)。 两个程序有兴趣的人自行研究了,很简单的反正。只是两个程序及要处理的文档要放在同一个目录下。

    字符串十六进制转换工具(包含ANSI和UNICODE)

    本工具专注于ANSI和UNICODE字符串与十六进制之间的转换,这涉及到字符编码和二进制数据的理解。 首先,我们要理解ANSI和UNICODE的概念。ANSI字符串通常指的是基于特定地区或语言的ASCII编码,它使用7位或8位来表示...

    Ansi与Unicode转换.rar

    本资源“Ansi与Unicode转换.rar”显然包含了关于这两种编码之间转换的易语言源代码,这对于学习和理解字符编码转换机制非常有帮助。 首先,让我们详细了解一下Ansi和Unicode: 1. Ansi编码:Ansi并不是一个特定的...

    Unicode转换Ansi字符

    1. **Unicode到Ansi转换**:当Unicode字符串(通常是UTF-16编码)需要在只支持Ansi编码的环境中显示或存储时,就需要进行转换。转换过程中可能会丢失不被Ansi编码支持的字符,因为Ansi编码无法表示Unicode中的所有...

    易语言Ansi与Unicode转换源码.7z

    在易语言中,涉及到字符编码的问题时,我们通常会遇到Ansi和Unicode这两种不同的字符编码方式。 Ansi编码,也称为本地代码页或MBCS(多字节字符集),是基于特定区域设置的编码系统。在Windows系统中,Ansi编码通常...

    C语言UTF8到ANSI和Unicode转换代码

    本文将深入探讨C语言中UTF8、ANSI和Unicode字符集之间的转换方法,以及如何在MFC(Microsoft Foundation Classes)项目中集成这些转换代码。 首先,我们要了解UTF8、ANSI和Unicode的概念。UTF8是一种变长的Unicode...

    Ansi转Unicode软件

    ANSI编码和Unicode编码是两种常见的字符编码标准,它们各自有不同的特点和应用场景。本文将详细介绍这两种编码的区别以及如何在Windows操作系统下进行转换。 首先,ANSI编码,也称为Windows默认的多语言编码或代码...

    Unicode与ANSI字符串之间的转换

    在计算机编程领域,字符编码是将字符映射到二进制数据的一种方法,这对于文本处理至关重要。Unicode 和 ANSI 字符串编码方式都是广泛使用的字符表示形式。本文将深入探讨 Unicode 与 ANSI 字符串之间的转换原理及...

    ANSI2Unicode_1.0.3

    总之,"ANSI2Unicode_1.0.3"是一个实用的工具,它在理解和处理字符编码问题时起着关键作用。对于那些需要处理多种编码格式的开发者来说,掌握这类工具的使用是非常有价值的,它可以帮助我们更好地应对全球化背景下...

    lua utf8 unicode ansi 转换

    a2w(ansi to unicode) u2w(utf8 to unicode) w2a(unicode to ansi) w2u(unicode to utf8) u2a(utf8 to ansi) a2u(ansi to utf8) bstr(bytes of str) help(show this) wunoman@qq.com 2012/03/06

    字符编码转换 Text、ANSI、Unicode、Unicode Big Endian、UTF-8、UTF-7

    本篇文章将深入探讨标题中提及的几种字符编码:Text、ANSI、Unicode(包括Little Endian和Big Endian)、UTF-8以及UTF-7,并介绍它们之间的转换。 1. **Text编码**: 在Windows系统中,通常所说的"Text"编码是指...

    ANSI字符和宽字符

    ANSI字符和宽字符是两种常见的字符编码形式,它们在不同的上下文中有着不同的用途和特点。 ANSI字符,也称为ASCII字符,是一种基于7位的字符编码标准。它最初定义了128个字符,包括英文大小写字母、数字、标点符号...

    VB转换字符编码(构造发送字符消息的准备工作)

    字符编码是用来表示文本的一套规则,常见的有ASCII、ANSI、Unicode等。ASCII是最基础的编码,只能表示128个基本的英文字符。ANSI编码通常是系统默认的编码,它基于ASCII并扩展了更多的字符集,但不同的操作系统和...

    封装ANSI,UNICODE,UTF8互相转换类

    "封装ANSI,UNICODE,UTF8互相转换类"是一个专门解决字符编码转换问题的工具,尤其适用于处理多语言环境下的文本数据。以下是对这些编码方式以及它们之间转换的详细解释: 1. ANSI 编码:ANSI(American National ...

Global site tag (gtag.js) - Google Analytics