将16进制数C9,BA转换成字符串“上海”,该怎样做?有专门的函数吗

fangerhua 2005-11-02 06:17:44
将16进制数C9,BA转换成字符串“上海”,该怎样做?有专门的函数吗
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixuemao 2005-11-03
  • 打赏
  • 举报
回复
上海应该是C9CF BAA3
function strtohex(str:string):string;
var i:integer;
begin
for i:=1 to length(str) do
begin
result:=result+inttohex(ord(str[i]),2);
end;
end;

function hextostr(hex:string):string;
var i,j,k:integer;
begin
k:=length(hex) div 2;
for i:=1 to k do
begin
case hex[2*i-1] of
'0'..'9':j:=strtoint(hex[2*i-1]);
'a'..'f':j:=ord(hex[2*i-1])-87;
'A'..'F':j:=ord(hex[2*i-1])-55;
end;

case hex[2*i] of
'0'..'9':j:=j*16+strtoint(hex[2*i]);
'a'..'f':j:=j*16+ord(hex[2*i])-87;
'A'..'F':j:=j*16+ord(hex[2*i])-55;
end;
result:=result+chr(j);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(strtohex('上海'));
showmessage(hextostr('C9CFBAA3'));
end;
firstrose 2005-11-03
  • 打赏
  • 举报
回复
很简单

if InputValue=$BAC9 Then Return:='上海';

LZ很不厚道。在GB2312里,每个汉字是2字节。你把后面一半去掉了,谁知道是什么东西?!
konhon 2005-11-02
  • 打赏
  • 举报
回复
http://www.delphibbs.com/keylife/iblog_show.asp?xid=4707
看看這裡

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧