在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:=