我们在这里介绍一下字符类型。这里有3种编码模式对应3种字符类型。

第一种编码类型是单子节字符集(single-byte   character   set   or   SBCS)。在这种编码模式下,所有的字符都只用一个字节表示。ASCII是SBCS。一个字节表示的0用来标志SBCS字符串的结束。

第二种编码模式是多字节字符集(multi-byte   character   set   or   MBCS)。一个MBCS编码包含一些一个字节长的字符,而另一些字符大于一个字节的长度。用在Windows里的MBCS包含两种字符类型,单字节字符(single-byte   characters)和双字节字符(double-byte   characters)。由于Windows里使用的多字节字符绝大部分是两个字节长,所以MBCS常被用DBCS(double-byte   character   set   or   DBCS)代替。

在DBCS编码模式中,一些特定的值被保留用来表明他们是双字节字符的一部分。例如,在Shift-JIS编码中(一个常用的日文编码模式),0x81-0x9f之间和   0xe0-oxfc之间的值表示"这是一个双字节字符,下一个子节是这个字符的一部分。"这样的值被称作"leadingbytes",他们都大于0x7f。跟随在一个leading   byte子节后面的字节被称作"trail  byte"。在DBCS中,trail  byte可以是任意非0值。像SBCS一样,DBCS字符串的结束标志也是一个单字节表示的0。

第三种编码模式是Unicode。Unicode是一种所有的字符都使用两个字节编码的编码模式。Unicode字符有时也被称作宽字符(Wide Character),因为它比单子节字符宽(使用了更多的存储空间)。注意,Unicode不能被看作MBCS。MBCS的独特之处在于它的字符使用不同长度的字节编码。Unicode字符串使用两个字节表示的0作为它的结束标志。

单字节字符包含拉丁文字母表,accented   characters及ASCII标准和DOS操作系统定义的图形字符。双字节字符被用来表示东亚及中东的语言。Unicode被用在COM及Windows  NT操作系统内部。

你一定已经很熟悉单字节字符。当你使用char时,你处理的是单字节字符。双字节字符也用char类型来进行操作(这是我们将会看到的关于双子节字符的很多奇怪的地方之一)。Unicode字符用wchar_t来表示。Unicode字符和字符串常量用前缀L来表示。

单字节字符集,多字节字符集,Unicode相关推荐

  1. 【Hive】分隔符 『 单字节分隔符 | 多字节分隔符』

    文章目录 1. 概述 2. 单字节分隔符 方法:使用delimited关键字 3. 其它复杂情况 方式一:写MR程序进行字符替换转为单字节分隔符问题(不推荐) 方式二:自定义InputFormat转为 ...

  2. linux 查看oracle数据库字符集,Oracle字符集的查看查询和Oracle字符集的设置修改

    三. 修改Oracle的字符集 8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误. Startup nomount; A ...

  3. UNICODE与多字节字符集等字符问题

    VS2008默认的字符集是Unicode,而VC6.0默认是多字节字符集,Unicode字符集你要加_T("")或L"",你也可以" 工程-属性-修改 ...

  4. unicode和MBCS(多字节字符集)的关系

    unicode和MBCS(多字节字符集)的关系 多了,先转载过来,供大家分享. 转载地址:http://my.oschina.net/alphajay/blog/5691 ************** ...

  5. c语言字符集改为多字节,多字节与Unicode

    编码知识 一.Unicode与多字节(ANSI ) (1)Windows中,Unicode也称为宽字节,多字节也称为窄字节; VS中默认使用Unicode编码,在项目属性>>配置属性> ...

  6. 转:Unicode字符集和多字节字符集关系

    原文地址: http://my.oschina.net/alphajay/blog/5691 unicode.ucs-2.ucs-4.utf-16.utf-32.utf-8 http://stallm ...

  7. Unicode字符集和多字节字符集关系(一)

    另外可参考: 谈谈Unicode编码,简要解释UCS.UTF.BMP.BOM等名词 http://blog.csdn.net/smonster/archive/2008/10/31/3194587.a ...

  8. VS编译器中的字符集(多字节和Unicode)的区别

    文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...

  9. 多字节字符集与Unicode字符集(CString char*和wchar_t* 容易出错的原因)

    1.基本概念 2.L与_T 3.char TCHAR 与 wchar_t,strcpy wcscpy与_tcscpy 4.LPSTR,LPCSTR,LPTSTR,LPCTSTR,LPWSTR,LPCW ...

最新文章

  1. HttpClient模拟http请求
  2. SpringMVC配置视图的直接映射view-controller命名空间
  3. 判断网页是否为微信内置浏览器打开?
  4. iptables学习笔记:同一端口号同时支持tcp和udp的转发
  5. linux命令的帮助信息,Linux查询命令帮助信息(知道)
  6. [每日一题] 11gOCP 1z0-052 :2013-09-24 temporary tables.........................................C11...
  7. 76.Nodejs Express目录结构
  8. 如何防止通过url攻击_百和情缘答疑:通过网上征婚相亲如何防止被骗?
  9. Python使用管道实现进程间数据传递
  10. 百度网盘怎么登录百度账号?
  11. Vue删除表格数据-调用逻辑
  12. 重症监护病人心电导联信号质量评估、SQI
  13. thinkphp集成系列之阿里云oss
  14. 程序员需要未雨绸缪,搞点副业,别把鸡蛋放在一个篮子里,要不然真的很危险
  15. 【龙印】用龙芯1c实现3D打印机的总体思路
  16. SATA协议OOB随笔
  17. 多年经验的程序员迷失了自己,该怎么办
  18. Just for fun----zjfc 并查集操作
  19. Abp.vnext 使用VS2022+Docker 部署至阿里云
  20. “守护花季,护航青春”青少年防性侵教育活动在兴隆社区顺利开展

热门文章

  1. Bailian2815 城堡问题【DFS】
  2. POJ1040 HDU1456 UVA301 UVALive5516 Transportation题解
  3. 2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题)
  4. CCF201409-3 字符串匹配(100分)
  5. B00012 C++算法库的sort()函数
  6. B00006 函数itoa()
  7. Multiple CPUs,Multiple Cores、Hyper-Threading
  8. python有趣小程序-小码王分享python一些有趣的小程序
  9. python编程是干嘛的-Python编程一般可以用来做什么
  10. python在线朗读-简单的python代码实现语音朗读