在Delphi中一个汉字占两个字节,各种字符串处理函数,直接处理字符串中汉字时经常会发生乱码或不显示。我在处理时也是弄了半天,到处找资料,一下是找到的几种处理方法。在Delphi7下测试通过。
一.中文所用的字符全是双字节字符,英文所用的字节全是单字节字符,也就是mbSingleByte。本实例是用ByteType()函数返回字符串指定位置上的字符,如果不是mbSingleByte,则表示为双字节字符。主要代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
s,s1: String;
i : Integer;
begin
s := Edit1.Text;
i := 0;
while i<Length(s) do
begin
if (ByteType(S,i) <> mbSingleByte) then
begin
s1 := s1+ Copy(s,i,2)+' ';
i := i+2;
end
else
i:=

在Delphi中,处理汉字可能会遇到乱码问题。本文介绍了四种方法:1) 利用ByteType函数识别双字节字符;2) 通过Ord函数判断ASCII码识别汉字;3) 使用widestring类型简化处理;4) 应用IsDBCSLeadByte函数。这些方法在Delphi7环境下已测试通过。
最低0.47元/天 解锁文章
1958

被折叠的 条评论
为什么被折叠?



