请问在Delphi中如何将字符串string转换Unicode汉字 (200分)

  • 主题发起人 主题发起人 l_x_yuan
  • 开始时间 开始时间
L

l_x_yuan

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编程时遇到如下问题:
; 字符串 s:='12了了' ;现在求它的字符串长度length(s) 是6,不知怎样转换为unicode字符
求出length为 8。我现在不知道怎样 转换 和将它 分解 成两个字符类似于'12' 和 '了了' 。甚至
不知怎样求unicode的 长度 。
; 那位大侠能不能帮忙,我急用。
 
procedure TForm1.Button1Click(Sender: TObject);
var
; a: String;
; b: WideString;
begin
; a := 'abc了了';
; b := a;
; ShowMessage(IntToStr(Length(a)) + ' ; ' + IntToStr(Length(b)));
end;
 
function AnsiToUnicode(Ansi: string):string;
var
; s:string;
; i:integer;
; j,k:string[2];
; a:array [1..1000] of char;
begin
; s:='';
; StringToWideChar(Ansi,@(a[1]),500);
; i:=1;
; while ((a<>#0) or (a[i+1]<>#0)) do begin
; ; j:=IntToHex(Integer(a),2);
; ; k:=IntToHex(Integer(a[i+1]),2);
; ; s:=s+k+j;
; ; i:=i+2;
; end;
; ; Result:=s;
end;
 
看MultiByteToWideChar这个API函数可以吗?
 
好好看看widestring类型的说明
 
接受答案了.
 
后退
顶部