判断一个字符是否为汉字的最佳方法[转]
2008-11-14 16:26
453 查看
由于从 Delphi2005开始支持中文标识符,在编写 PASCAL 词法分析器的过程中遇到了这个问题,经过多次试验找到了解决方案,至今未发现问题。
代码如下:
//判断字符是否是汉字 function IsHZ(ch: WideChar): boolean; var i:integer; begin i:=ord(ch); if( i<19968) or (i>40869) then result:=false else result:=true; end;
2005年1月28日:感谢滚龙的指点,已将代码改写如下:
//判断字符是否是汉字 function TForm1.IsHZ(ch: Char): boolean; begin //返回值为 0 的时候为单字节字符,返回值为 1 的时候为多字节字符 if(ord(bytetype(ch,1))=1) then result:=true else result:=false; end;
2005年1月31日:谢谢滚龙再次赐教,代码已收藏!
//判断字符是否是汉字
function IsMBCSChar(const ch: Char): Boolean;
begin
Result := (ByteType(ch, 1) <> mbSingleByte);
end;
代码如下:
//判断字符是否是汉字 function IsHZ(ch: WideChar): boolean; var i:integer; begin i:=ord(ch); if( i<19968) or (i>40869) then result:=false else result:=true; end;
//判断字符是否是汉字 function IsHZ(ch: WideChar): boolean; var i:integer; begin i:=ord(ch); if( i<19968) or (i>40869) then result:=false else result:=true; end;
2005年1月28日:感谢滚龙的指点,已将代码改写如下:
//判断字符是否是汉字 function TForm1.IsHZ(ch: Char): boolean; begin //返回值为 0 的时候为单字节字符,返回值为 1 的时候为多字节字符 if(ord(bytetype(ch,1))=1) then result:=true else result:=false; end;
//判断字符是否是汉字 function TForm1.IsHZ(ch: Char): boolean; begin //返回值为 0 的时候为单字节字符,返回值为 1 的时候为多字节字符 if(ord(bytetype(ch,1))=1) then result:=true else result:=false; end;
2005年1月31日:谢谢滚龙再次赐教,代码已收藏!
//判断字符是否是汉字
function IsMBCSChar(const ch: Char): Boolean;
begin
Result := (ByteType(ch, 1) <> mbSingleByte);
end;
相关文章推荐
- 判断一个字符是否为汉字的最佳方法 字数,字符,字节统计
- delphi判断一个字符是否为汉字的最佳方法
- 判断一个字符是否为汉字的最佳方法[转]
- Delphi判断一个字符是否为汉字的最佳方法
- Delphi判断一个字符是否为汉字的最佳方法[转]
- Delphi判断一个字符是否为汉字的最佳方法
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- c/vc++一个字符是否是汉字的判断方法
- 判断字符是否为汉字的一个方法
- 判断一个varchar2字段中的数据是否全是汉字的方法
- 【java】java中判断一个字符是否包含汉字,包含汉语标点
- Asp.Net判断字符是否为汉字的方法大全
- 判断一个字符是否为汉字
- SqlServer 判断字符是否汉字或数字方法
- java判断一个字符是否是汉字 包括汉语标点符号
- 判断一个字符是否为汉字
- Asp.Net判断一个字符串是否包含某个字符的最简单方法!(示例)
- SqlServer 判断字符是否汉字或数字方法
- js判断字符是否存在汉字的方法
- C#判断字符是否为汉字的三种方法分享