单字节字符集,多字节字符集,Unicode
我们在这里介绍一下字符类型。这里有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相关推荐
- 【Hive】分隔符 『 单字节分隔符 | 多字节分隔符』
文章目录 1. 概述 2. 单字节分隔符 方法:使用delimited关键字 3. 其它复杂情况 方式一:写MR程序进行字符替换转为单字节分隔符问题(不推荐) 方式二:自定义InputFormat转为 ...
- linux 查看oracle数据库字符集,Oracle字符集的查看查询和Oracle字符集的设置修改
三. 修改Oracle的字符集 8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误. Startup nomount; A ...
- UNICODE与多字节字符集等字符问题
VS2008默认的字符集是Unicode,而VC6.0默认是多字节字符集,Unicode字符集你要加_T("")或L"",你也可以" 工程-属性-修改 ...
- unicode和MBCS(多字节字符集)的关系
unicode和MBCS(多字节字符集)的关系 多了,先转载过来,供大家分享. 转载地址:http://my.oschina.net/alphajay/blog/5691 ************** ...
- c语言字符集改为多字节,多字节与Unicode
编码知识 一.Unicode与多字节(ANSI ) (1)Windows中,Unicode也称为宽字节,多字节也称为窄字节; VS中默认使用Unicode编码,在项目属性>>配置属性> ...
- 转:Unicode字符集和多字节字符集关系
原文地址: http://my.oschina.net/alphajay/blog/5691 unicode.ucs-2.ucs-4.utf-16.utf-32.utf-8 http://stallm ...
- Unicode字符集和多字节字符集关系(一)
另外可参考: 谈谈Unicode编码,简要解释UCS.UTF.BMP.BOM等名词 http://blog.csdn.net/smonster/archive/2008/10/31/3194587.a ...
- VS编译器中的字符集(多字节和Unicode)的区别
文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...
- 多字节字符集与Unicode字符集(CString char*和wchar_t* 容易出错的原因)
1.基本概念 2.L与_T 3.char TCHAR 与 wchar_t,strcpy wcscpy与_tcscpy 4.LPSTR,LPCSTR,LPTSTR,LPCTSTR,LPWSTR,LPCW ...
最新文章
- HttpClient模拟http请求
- SpringMVC配置视图的直接映射view-controller命名空间
- 判断网页是否为微信内置浏览器打开?
- iptables学习笔记:同一端口号同时支持tcp和udp的转发
- linux命令的帮助信息,Linux查询命令帮助信息(知道)
- [每日一题] 11gOCP 1z0-052 :2013-09-24 temporary tables.........................................C11...
- 76.Nodejs Express目录结构
- 如何防止通过url攻击_百和情缘答疑:通过网上征婚相亲如何防止被骗?
- Python使用管道实现进程间数据传递
- 百度网盘怎么登录百度账号?
- Vue删除表格数据-调用逻辑
- 重症监护病人心电导联信号质量评估、SQI
- thinkphp集成系列之阿里云oss
- 程序员需要未雨绸缪,搞点副业,别把鸡蛋放在一个篮子里,要不然真的很危险
- 【龙印】用龙芯1c实现3D打印机的总体思路
- SATA协议OOB随笔
- 多年经验的程序员迷失了自己,该怎么办
- Just for fun----zjfc 并查集操作
- Abp.vnext 使用VS2022+Docker 部署至阿里云
- “守护花季,护航青春”青少年防性侵教育活动在兴隆社区顺利开展
热门文章
- Bailian2815 城堡问题【DFS】
- POJ1040 HDU1456 UVA301 UVALive5516 Transportation题解
- 2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题)
- CCF201409-3 字符串匹配(100分)
- B00012 C++算法库的sort()函数
- B00006 函数itoa()
- Multiple CPUs,Multiple Cores、Hyper-Threading
- python有趣小程序-小码王分享python一些有趣的小程序
- python编程是干嘛的-Python编程一般可以用来做什么
- python在线朗读-简单的python代码实现语音朗读