字符串基础 ASCII MBCS UNICODE DBCS
来源:互联网 发布:淘宝消保工具是什么 编辑:程序博客网 时间:2024/06/05 06:17
所有的字符串类都起源于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前缀起头,如:
wchar_t wch = L'1'; // 2 个字节, 0x0031
wchar_t* wsz = L"Hello"; // 12 个字节, 6 个宽字符
- 字符串基础 ASCII MBCS UNICODE DBCS
- 对ASCII、UNICODE、DBCS/MBCS、char、wchar_t的学习笔记
- 字符基础 ASCII,DBCS和Unicode
- [文本]字符编码基础--ASCII、DBCS、Unicode
- ASCII, DBCS, Unicode【上】
- ASCII, DBCS, Unicode【下】
- ASCII, DBCS,Unicode小结
- ansi,dbcs,mbcs,unicode各是甚麽意思
- ASCII、MBCS、UNICODE
- 关于ASCII ,DBCS,UNICODE编码及字符串类型总结
- 转 ASCII, DBCS,UNICODE小结
- ASCII、ANSI、MBCS、UNICODE字符集
- ASCII、ANSI、MBCS、UNICODE字符集详解
- ASCII,DBCS(GBK),unicode,utf8编码规范的区别
- VC++编程之字符串解惑--Unicode & MBCS
- Ascii Unicode Mbcs Utf8 Charset Encoding Codepage Font
- Ascii Unicode Mbcs Utf8 Charset Encoding Codepage Font
- UNICODE???MBCS???
- 学习STL 做个简单的笔记
- MFC属性页示例
- 2011-10-24 会话与状态管理 cookie
- OPENGL 点击与选取的基础---坐标变换
- VC CListControl 右键菜单
- 字符串基础 ASCII MBCS UNICODE DBCS
- TestComplete自动化测试实战训练(广州)
- getChildAt与getChildByName效率比较
- JavaScript MD5 与 Java MessageDigest 加密后的值相同
- 乔布斯传记概览:乔布斯18个让人着迷的地方
- 什么是Cookie?
- LoadRunner参数的详细解释
- hibernate 一对一的外键关联
- 会话与状态管理