请问,Unicode Character Set 和 DBCS,有何不同? 请问,Unicode Character Set 和 DBCS,有何不同? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DBCS(DoubleBytes Characters Set)是一种字符集规范,它规定用两个字节表示一个字符,这样和单字节字符集相比,可以容纳更多的字符。Unicode Character Set 是按照DBCS规范实现的一种字符集方案。————————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。———————————————————————————————————— DBCS是一种双字符集,不过不太好,会引起附加编程!因为DBCS对待ASCII码仍然是一个字节代表一个字符,而中文这类字符才是两个字节代表一个字符。而Unicode则是无论中文英文,都是用双字节来表示一个字符,这样就不会引起附加编程 Borland是这样解释的要书的请到http://expert.csdn.net/Expert/topic/2163/2163244.xml?temp=.3149225-----------------------------------------------------------------Windows 和Linux 都支持单字节和多字节字符集,同样也支持Unicode。使用单字节字符集(SBCS),字符串的每个字节表示一个字符。ANSI 字符集被许多西方(国家的)操作系统使用,它是单字节字符集。在多字节字符集(MBCS)中,一些字符由一个字节表示,而另一些则使用多个字节。多字节字符的第一个字节称为头字节(lead byte)。通常,在多字节字符集中,前128 个字符对应于7 位ASCII 字符(0-127),任何序数值大于127 的字节为多字节字符的头字节。只有单字节字符能包含空值(#0)。多字节字符集(特别是双字节字符集,DBCS),被亚洲语言广泛使用,但Linux 使用的UTF-8 字符集是Unicode 的一种多字节编码。在Unicode 字符集中,每个字符用两个字节表示,所以,一个Unicode 字符串是由双字节组成的序列。Unicode 字符和字符串也被称为宽字符和宽字符串。前256 个Unicode 字符被映射到ANSI 字符集。Windows 操作系统支持Unicode(UCS-2)。Linux 操作系统支持UCS-4,是UCS-2 的超集。Delphi/Kylix在两个平台上都支持UCS-2。Object Pascal 支持单字节和多字节字符以及字符串,适用的类型有:Char、PChar、AnsiChar、PAnsiChar和AnsiString。对多字节字符串使用索引是不可取的,因为S[i]表示S 中第i 个字节(不一定是第i 个字符),但是,标准字符串处理函数有多字节版本,它们还实现了locale-specific ordering for characters(多字节函数的名称通常以Ansi 开头,比如StrPos 的多字节版本是AnsiStrPos)。多字节支持依赖于操作系统和本地设置(current locale)。Object Pascal 使用WideChar、PWideChar 和WideString 类型支持Unicode 字符和字符串。 Enter转换成Tab怎么不行 如何在StringGrid中间的其中一个格子加个小图标 CreateThread线程创建参数传递的问题,急 100分求 李维 的《Inside VCL(深入核心——VCL架构剖析)》的电子版! 请教一个简单问题 谁有 InstallShield Professional6.3的电子档的教程?不会用啊,急啊 delphi如何直接操作16进制? 请问那里有ADO的补丁下载 多媒体的视频显示问题~~ 网络编程!请问如何编程添加TCP/IP协议? TreeView的问题?帮忙. 各位大虾,能给个思路吗??
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
而Unicode则是无论中文英文,都是用双字节来表示一个字符,这样就不会引起附加编程
要书的请到
http://expert.csdn.net/Expert/topic/2163/2163244.xml?temp=.3149225
-----------------------------------------------------------------
Windows 和Linux 都支持单字节和多字节字符集,同样也支持Unicode。使用单字节字符集(SBCS),
字符串的每个字节表示一个字符。ANSI 字符集被许多西方(国家的)操作系统使用,它是单字节字符
集。
在多字节字符集(MBCS)中,一些字符由一个字节表示,而另一些则使用多个字节。多字节字符的第
一个字节称为头字节(lead byte)。通常,在多字节字符集中,前128 个字符对应于7 位ASCII 字符(0-127),
任何序数值大于127 的字节为多字节字符的头字节。只有单字节字符能包含空值(#0)。多字节字符集
(特别是双字节字符集,DBCS),被亚洲语言广泛使用,但Linux 使用的UTF-8 字符集是Unicode 的一
种多字节编码。
在Unicode 字符集中,每个字符用两个字节表示,所以,一个Unicode 字符串是由双字节组成的序列。
Unicode 字符和字符串也被称为宽字符和宽字符串。前256 个Unicode 字符被映射到ANSI 字符集。
Windows 操作系统支持Unicode(UCS-2)。Linux 操作系统支持UCS-4,是UCS-2 的超集。Delphi/Kylix
在两个平台上都支持UCS-2。
Object Pascal 支持单字节和多字节字符以及字符串,适用的类型有:Char、PChar、AnsiChar、PAnsiChar
和AnsiString。对多字节字符串使用索引是不可取的,因为S[i]表示S 中第i 个字节(不一定是第i 个字
符),但是,标准字符串处理函数有多字节版本,它们还实现了locale-specific ordering for characters(多
字节函数的名称通常以Ansi 开头,比如StrPos 的多字节版本是AnsiStrPos)。多字节支持依赖于操作系
统和本地设置(current locale)。
Object Pascal 使用WideChar、PWideChar 和WideString 类型支持Unicode 字符和字符串。