SOS 有谁用DELPHI做过简体汉字UNICODE编码处理?(300分)(100分)

  • 主题发起人 主题发起人 jz_wq
  • 开始时间 开始时间
J

jz_wq

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁用DELPHI做过简体汉字UNICODE编码处理?请附上详细的实现方法(源码)!!
 
给分把,我写过,请看
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;
//copy过去就能用的
 
可以看delphi的帮助, 也可以看源代码 在system.pas单元中, 有以下几个函数可用:
stringtowidechar 函数 将ansi字符串转换为unicode字符串
widecharlentostring 函数 将ansi字符串转换为unicode字符串
widecharlentostrwar 函数 将unicode字符串转换为ansi字符串变量
widechartostring 函数 将unicode字符串转换为ansi字符串
widechartostrvar 函数 将unicode字符串转换为ansi字符串变量

 
可以啦,很不错,那UNICODE转汉字呢!!!
 
在给分把
function ReadHex(AString:string):integer;
begin
Result:=StrToInt('$'+AString)
end;

function UnicodeToAnsi(Unicode: string):string;
var
s:string;
i:integer;
j,k:string[2];
begin
i:=1;
s:='';
while i<Length(Unicode)+1 do begin
j:=Copy(Unicode,i+2,2);
k:=Copy(Unicode,i,2);
i:=i+4;
s:=s+Char(ReadHex(j))+Char(ReadHex(k));
end;
if s<>'' then
s:=WideCharToString(PWideChar(s+#0#0#0#0))
else
s:='';
Result:=s;
end;

 
qiandeng 我们能成为朋友吗?你能告诉我你的俄E-Mail吗?
我期待有你这样的朋友(共同学习)!!!!
我的E-Mail:jpuwq@21cn.com / jz_wq@163.net
 
qiandeng@163.net
 
后退
顶部