请各位谈一下汉字双字识别的问题.(0分)

  • 主题发起人 主题发起人 nuke
  • 开始时间 开始时间
N

nuke

Unregistered / Unconfirmed
GUEST, unregistred user!
我觉得在Win98中用richedit汉字都能正常显示和编辑.
只有当相关Dll被其他版本的覆盖了才会出现半个汉字的情况.
所以对于汉字的双字识别问题,我也是蒙蒙懂懂的.
请问各位汉字双字如何识别,常用的编辑软件是如何做的,怎样才能达到最
高的识别率呢?
 
一般的做法是对字符串的字符逐个检验其字符码是否是leadByte, 如果是取当前字符
和紧跟其后的字符组成一个汉字. Delphi函数为:
function IsDBCSLeadByte(TestChar: Byte): BOOL;
更简单的做法是把一个String字符串转换成WideString;
如果把WideString当成一
个字符串数组, 其每一个元素都是一个String;
如果某个元素的长度>1, 则是一个
亚洲字符. 例如:
function HowManyChineseChar(const s: String): integer;
var
SW: WideString;
C: String;
i, WCount: inter;
begin
SW := S;
WCount :=0;
for i :=1 to Length(SW)do
begin
C := SW;
if Length(C) > 1 then
inc(WCount);
end;
result := WCount;
end;
 
接受答案了.
 
后退
顶部