比如,一个txt文件,里面有文本:c4e3bac3,怎么把这些转换为汉字,即“你好”,希望能详细说明一下(100分)

  • 主题发起人 主题发起人 淡淡的笑
  • 开始时间 开始时间

淡淡的笑

Unregistered / Unconfirmed
GUEST, unregistred user!
如题目。
 
每次读2个字符,然后前面加'#$',最后组合成一个字符串
 
看不懂,能否说明这样做的目的
 
你把这段文字,拷贝至网页文件里面试试
 
to 季晓锋:这样还听不懂??不会吧??
比如有一个文本文件。里面的文字有:c4e3bac3 <--为16进制
要转化为ASCII码,输出到一个文件。懂了没?
cAkk的方法我等会试试看。。
 
to cAkk:
我试了一下,,还是搞不清楚,,总不能用str1:=#$+'c4'+#$+'e3'吧...
能否给个例子???谢谢。
 
大概是这个意思:
function xxx(S: String): String;
var
I: Integer;
begin
I := 1;
while I <
Length(S)do
begin
Result := Result + Chr(StrToInt('$' + S + S[I + 1]));
Inc(I, 2);
end;
end;
 
to Croco:
我试了一下,不行呀,,你试试??thanks.
 
str:array[0..4] of char
“c4”转换为整数,保存到str[0]
“e3”转换为整数,保存到str[1]
“ba”转换为整数,保存到str[2]
“c3”转换为整数,保存到str[3]
str[4]=#0
str就是“你好”了
 
感谢。我试一下,,再给分。。呵,,
 
有没有别的方法。。。这个方法不太好用。。
 
var
S: String;
begin
S := xxx('c4e3bac3');
...//S 已经是“你好”了。
end;

怎么不行呢?
 
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
str:string;
begin
i:=1;
str:=edit1.text;
edit1.text:='';
while i<length(str)do
begin
Edit1.text := edit1.text+ chr(strtoint('$'+str+str[i+1]))+chr(strtoint('$'+str[i+2]+str[i+3]));
i:=i+4;
end;

end;
汉字是双字节的,必须两个字符一起加才行的吧。
初来乍到,各位多多指点。
 
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
str:string;
begin
i:=1;
str:=edit1.text;
edit1.text:='';
while i &amp;lt;
length(str)do
begin
Edit1.text:=edit1.text+ chr(strtoint('$'+str+str[i+1]))+chr(strtoint('$'+str[i+2]+str[i+3]));
i:=i+4;
end;

end;

初来乍到的,请各位多指教。
刚刚没贴好,不好意思。
 
多人接受答案了。
 
后退
顶部