我们在这里介绍一下字符类型。这里有3种编码模式对应3种字符类型。
第一种编码类型是单子节字符集(single-bytecharactersetorSBCS)。在这种编码模式下,所有的字符都只用一个字节表示。ASCII是SBCS。一个字节表示的0用来标志SBCS字符串的结束。
第二种编码模式是多字节字符集(multi-bytecharactersetorMBCS)。一个MBCS编码包含一些一个字节长的字符,而另一些字符大于一个字节的长度。用在Windows里的MBCS包含两种字符类型,单字节字符(single-bytecharacters)和双字节字符(double-bytecharacters)。由于Windows里使用的多字节字符绝大部分是两个字节长,所以MBCS常被用DBCS(double-bytecharactersetor
DBCS)代替。
在DBCS编码模式中,一些特定的值被保留用来表明他们是双字节字符的一部分。例如,在Shift-JIS编码中(一个常用的日文编码模式),0x81-0x9f之间和0xe0-oxfc之间的值表示"这是一个双字节字符,下一个子节是这个字符的一部分。"这样的值被称作"leadingbytes",他们都大于0x7f。跟随在一个leadingbyte子节后面的字节被称作"trailbyte"。在DBCS中,trailbyte可以是任意非0值。像SBCS一样,DBCS字符串的结束标志也是一个单字节表示的0。
第三种编码模式是Unicode。Unicode是一种所有的字符都使用两个字节编码的编码模式。Unicode字符有时也被称作宽字符(Wide Character),因为它比单子节字符宽(使用了更多的存储空间)。注意,Unicode不能被看作MBCS。MBCS的独特之处在于它的字符使用不同长度的字节编码。Unicode字符串使用两个字节表示的0作为它的结束标志。
单字节字符包含拉丁文字母表,accentedcharacters及ASCII标准和DOS操作系统定义的图形字符。双字节字符被用来表示东亚及中东的语言。Unicode被用在COM及WindowsNT操作系统内部。
你一定已经很熟悉单字节字符。当你使用char时,你处理的是单字节字符。双字节字符也用char类型来进行操作(这是我们将会看到的关于双子节字符的很多奇怪的地方之一)。Unicode字符用wchar_t来表示。Unicode字符和字符串常量用前缀L来表示。
分享到:
相关推荐
unicode 字符集 与 多字节字符集转换/kekegeneral
Unicode 字符集和多字节字符集关系 Unicode 字符集是为了整合全世界的所有语言文字而诞生的,任何文字在 Unicode 中都对应一个值,这个值称为代码点(code point)。代码点的值通常写成 U+ABCD 的格式。 Unicode ...
MFC在unicode字符集下的多字节串口调试助手,涉及到了MFC在unicode编码和多字节编码之间的转换,所用的编译器为VS2013,可以直接在VS2013中运行
VS2013 编译MFC 使用多字节字符集时报错 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. 安装补丁解决。
Unicode--宽字节字符集[文].pdf
在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2008环境下运行时会报...
unicode字符集下编写多字节的串口调试助手,涉及到了unicode和多字节之间的转换
2. 字符集的分类:字符集可以分为单字节字符集和双字节字符集,例如 ASCII、Unicode 等。 3. C# 中的字符串处理方式:C# 提供了多种字符串处理方式,例如 SubString 方法、GetBytes 方法等。 4. 字符集的应用:字符...
"字符集Unicode与UTF-8之间的转换" 在计算机科学中,字符集和编码方式是非常重要的概念,特别是在多语言环境中。Unicode和UTF-8是两种常用的字符集和编码方式,本文将详细介绍它们之间的转换。 Unicode Unicode是...
多字节、Unicode和UTF8字符串的互换VB技术很实用的源码
支持包安装成功后,转换工具 (gbunicnv.exe) 和微软4字节字符集编码支持包 (ms4bsp.dll) 会被安装在系统的 Program Files\GB18030Tools 文件夹下。用户可通过 Windows 2000 中的中文内码(Unicode) 输入法输入所需的 ...
"字节、比特、字、字长、字符串、字符集和代码页" 在计算机科学中,有一些基本概念需要了解和区分,如字节、比特、字、字长、字符串、字符集和代码页等。这些概念都是计算机科学的基础,正确地理解它们对于编程和...
* UTF-8 是 Unicode 的 8 位编码方式,是一种变长多字节编码,这种编码可以用 1、2、3 个字节表示一个 Unicode 字符,AL32UTF8、UTF8、UTFE 是 UTF-8 编码字符集。 2.3 字符集超级 * 当一种字符集(字符集 A) 的...
众多字符集编码的区别Unicode向GB2312转换方法说明及包括ASCII码部分及GB2312字符集。 ASCII码部分为128个字符,GB2312字符集为7445个字符。 ASCII码部分不需要用映射表。 GB2312 table可分为4段,每段都是连续的。...
Unicode字符集是一种更广泛的字符集,它包含了世界上所有的字符,包括各种语言的字母、符号和标点符号。Unicode字符集可以使用不同的编码方式来表示,其中最常用的是UTF-8编码。 UTF-8编码是一种可变长度的编码方式...
亚洲语言的字符集通常数以千计,8 位已经不足以表达,这时使用一种很凌乱的双字节字符集(DBCS)系统来解决。 然而,随着 Internet 的发展,字符串要从一个机器上移到另一个机器上,这就产生了问题。于是,Unicode ...
当vs2013只支持unicode字符集,打开vc6.0版本的工程后,需要把字符串的形式从 "aaa" 转换成 _T("aaa"),手工转换工作量大,本程序可实现批量转换,操作方法是将原文件内容复制过来,点击转换按钮,然后再复制回去即可...
UTF8,ANSI,UTF7,UNICODE,UTF32等字符集字符串与字节数组互转工具,方便调试学习
在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2008环境下运行时会报...
开源项目TinyXml项目所涉及的字符编码说明... - 新增适用于`宽字符`参数的函数接口,调用字符集转换功能,转换为`窄字符`参数,再回调TinyXml原版接口。 - 对于以UTF16编码、或UTF32编码的Xml字符串,转换为UTF8编 --