delphi 检测判断字符串是否包含有中文字符


本文整理自网络,侵删。

 此函数是判断一串字符里,是否存在中语汉字,使用的是汉字对应ASCII码原理,如果某个字符串转成ASCII码,且这个ASCII码是在汉字区域范围的,就认为是存在汉字 。


//  基本汉字    20902字    4E00-9FA5
//  基本汉字补充 74字    9FA6-9FEF
//  扩展A    6582字    3400-4DB5
//  扩展B    42711字    20000-2A6D6
//  扩展C    4149字    2A700-2B734
//  扩展D    222字    2B740-2B81D
//  扩展E    5762字    2B820-2CEA1
//  扩展F    7473字    2CEB0-2EBE0
//  扩展G    4939字    30000-3134A
//  康熙部首    214字    2F00-2FD5
//  部首扩展    115字    2E80-2EF3
//  兼容汉字    477字    F900-FAD9
//  兼容扩展    542字    2F800-2FA1D
//  PUA(GBK)部件 81字    E815-E86F
//  部件扩展    452字    E400-E5E8
//  PUA增补    207字    E600-E6CF
//  汉字笔画    36字    31C0-31E3
//  汉字结构    12字    2FF0-2FFB
//  汉语注音    43字    3105-312F
//  注音扩展    22字    31A0-31BA
//  ?    1字    3007

function IsChinaText(S: string): Boolean;
var
  pWChar: PWideChar;
  Ascii: Integer;
begin
  Result := False;
  pWChar := PWideChar(S);
  while pWChar^ <> #0 do begin
    Ascii := Ord(pWChar^);
    case Ascii of
      $3007: Exit(True);
      $4E00..$9FA5: Exit(True);
      $9FA6..$9FEF: Exit(True);
      $3400..$4DB5: Exit(True);
      $2F00..$2FD5: Exit(True);
      $2E80..$2EF3: Exit(True);
      $F900..$FAD9: Exit(True);
      $E815..$E86F: Exit(True);
      $E400..$E5E8: Exit(True);
      $E600..$E6CF: Exit(True);
      $31C0..$31E3: Exit(True);
      $2FF0..$2FFB: Exit(True);
      $3105..$312F: Exit(True);
      $31A0..$31BA: Exit(True);
      $20000..$2A6D6: Exit(True);
      $2A700..$2B734: Exit(True);
      $2B740..$2B81D: Exit(True);
      $2B820..$2CEA1: Exit(True);
      $2CEB0..$2EBE0: Exit(True);
      $2F800..$2FA1D: Exit(True);
      $30000..$3134A: Exit(True);
    end;
    Inc(pWChar);
  end;
end;

相关阅读 >>

Delphi debug与release的区别

Delphi 自我拷贝复制

Delphi 在tmemo中查找文本

Delphi thread.queue与synchronize的区别

Delphi sysutils.comparestr、sysutils.comparetext - 字符串比较

Delphi 利用thttpclient实现http异步下载

Delphi memo 循环往上往下滚动

Delphi 有关pchar.strcopy的实验

Delphi的一些开发技巧和方法

Delphi 最快字符串查找(匹配)算法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...