首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么判断 字符串中 包含有 unicode 字符

2013-04-20 
如何判断 字符串中 包含有 unicode 字符我现在用的 D2010[解决办法]从D2009开始,string类型就表示WideStri

如何判断 字符串中 包含有 unicode 字符
我现在用的 D2010  


[解决办法]
从D2009开始,string类型就表示WideString,string[x]表示WideChar,都是16位的UFT-16 unicode字符。所以,每个字符的长度都是16位,跟字符串中的具体字符无关。

若string='abc中国?????? ?????',则根据当前操作系统的活动代码页,后面的阿拉伯字符就会显不出来;切换到其他代码页,则可能“中国”就显不出来。

[解决办法]
现在能在电脑上表达的所有字符都是 Unicode 字符集涵盖的范围,所以任何一个字符串都含有 unicode 字符,不用判断
[解决办法]

function IsMBCS(const Text: string): boolean;
var
  i: integer;
begin
  result := False;
  for i := 1 to Length(Text) do
    if not (ByteType(Text, i) = mbSingleByte) then
    begin
      result := True;
      break;
    end;
end;  

[解决办法]
字符串如果是UniCode的就都是UniCode的。
[解决办法]
同楼上
没有 字符串包含Unicode字符的说法吧。不可能一个字符串包含Ansi和unicode两种编码,除非是自己写内存。
在delphi2010下定义成string或widestring类型就是unicode。
比如 s:string='123';也是unicode字符

热点排行