电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

字符编码的转换

字符编码的转换_第1页
1/29
字符编码的转换_第2页
2/29
字符编码的转换_第3页
3/29
C++字符串完全指南 - Win 32 字符编码(一) 前言 字符串的表现形式各异,象TCHAR,std::string,BSTR 等等,有时还会见到怪怪的用_tcs 起头的宏。这个指南的目的就是说明各种字符串类型及其用途,并说明如何在必要时进行类型的相互转换。 在指南的第一部分,介绍三种字符编码格式。理解编码的工作原理是致为重要的。即使你已经知道字符串是一个字符的数组这样的概念,也请阅读本文,它会让你明白各种字符串类之间的关系。 指南的第二部分,将阐述各个字符串类,什么时候使用哪种字符串类,及其相互转换。 字符串基础 - ASCII, DBCS, Unicode 所有的字符串类都起源于C 语言的字符串,而 C 语言字符串则是字符的数组。首先了解一下字符类型。有三种编码方式和三种字符类型。 第一种编码方式是单字节字符集,称之为 SBCS,它的所有字符都只有一个字节的长度。ASCII 码就是SBCS。SBCS 字符串由一个零字节结尾。 第二种编码方式是多字节字符集,称之为 MBCS,它包含的字符中有单字节长的字符,也有多字节长的字符。Windows 用到的MBCS 只有二种字符类型,单字节字符和双字节字符。因此 Windows 中用得最多的字符是双字节字符集,即 DBCS,通常用它来代替 MBCS。 在 DBCS 编码中,用一些保留值来指明该字符属于双字节字符。例如,Shift-JIS(通用日语)编码中,值0x81-0x9F 和 0xE0-0xFC 的意思是:“这是一个双字节字符,下一个字节是这个字符的一部分”。这样的值通常称为前导字节(lead byte),总是大于 0x7F。前导字节后面是跟随字节(trail byte)。DBCS 的跟随字节可以是任何非零值。与 SBCS 一样,DBCS 字符串也由一个零字节结尾。 第三种编码方式是 Unicode。Unicode 编码标准中的所有字符都是双字节长。有时也将 Unicode 称为宽字符集(wide characters),因为它的字符比单字节字符更宽(使用更多内存)。注意,Unicode 不是 MBCS - 区别在于 MBCS 编码中的字符长度是不同的。Unicode 字符串用二个零字节字符结尾(一个宽字符的零值编码)。 单字节字符集是拉丁字母,重音文字,用ASCII 标准定义,用于DOS 操作系统。双字节字符集用于东亚和中东语言。Unicode 用于COM 和 Windows NT 内部。 读者都很熟悉单字节字符集,它的数据类型是char。双字节字符集也使用char 数据类型(双字节字符集中的许多古怪处之一)。Unicode 字符集用wchar_t 数据类型。Unicode 字符串用L 前缀起头,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

字符编码的转换

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部