请问,Unicode Character Set 和 DBCS,有何不同?

cutepine 2003-08-25 10:08:05
请问,Unicode Character Set 和 DBCS,有何不同?
...全文
139 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DWGZ 2003-08-25
  • 打赏
  • 举报
回复
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 字符和字符串。
DelphiBoy2003 2003-08-25
  • 打赏
  • 举报
回复
DBCS是一种双字符集,不过不太好,会引起附加编程!因为DBCS对待ASCII码仍然是一个字节代表一个字符,而中文这类字符才是两个字节代表一个字符。
而Unicode则是无论中文英文,都是用双字节来表示一个字符,这样就不会引起附加编程
lxpbuaa 2003-08-25
  • 打赏
  • 举报
回复
DBCS(DoubleBytes Characters Set)是一种字符集规范,它规定用两个字节表示一个字符,这样和单字节字符集相比,可以容纳更多的字符。Unicode Character Set 是按照DBCS规范实现的一种字符集方案。

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧