还是delphi 类型转换问题

pengsor 2008-11-10 04:50:48
为什么byte类型数组,转换成str出现“想繁体汉字的乱码”
如题问题如下:
想把一个byte数组转换成一个string;
其中byte具体为(143, 148, 197, 170, 19, 100, 107, 109, 125, 237, 104, 61, 48, 199, 166, 184)

function Tfrmmain.comSN(AByte:MD5Digest):string;
var
i:integer;
Digits:MD5Digest; //MD5Digest=array[0..15] fo byte

begin
result:='';
for i:=0 to 15 do
begin
Digits[i]:=(AByte[i] Xor 3) and $FF;
result:=result+chr(ord(digits[i]))
end;
end;
返回的汉字乱码,其实结果为 一串包含数字和字母的字符串。
请各位大虾高人指点~~
...全文
87 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
你说的转换后的结果是“想繁体汉字的乱码”?我试试看吧
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
就我目测结果来看,算法好像不正确
gzmhero 2008-11-10
  • 打赏
  • 举报
回复
Digits[i]:=Format('%X',[Ord(AByte[i])]);
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
8f = 143

243 那要算法才能转换

如果是 143 那就不用转换,它就是一个值

上面写了 

请问怎么能够把byte转换成字符;
比如byte:"8f:
二进制:10001111
10进制就是:143;

b: byte;
c: AnsiChar;

b := $8f;
c := AnsiChar(b);
pengsor 2008-11-10
  • 打赏
  • 举报
回复
算法正确,
现在我就是我不会实现这一步:
那么怎么把byte型“243” 转换成string或char的“8f”;
。请指点
pengsor 2008-11-10
  • 打赏
  • 举报
回复
那么怎么把byte型“243” 转换成string或char的“8f”;
现在我就是我不会实现这一步。请指点
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
关键问题是你的算法正确吗?
pengsor 2008-11-10
  • 打赏
  • 举报
回复
function Tfrmmain.comSN(AByte:MD5Digest):string;
var
i:integer;
Digits:MD5Digest;
begin
result:='';
for i:=0 to 15 do
begin
Digits[i]:=(AByte[i] Xor 3) and $FF;
result:=result+chr(digits[i]) ;
end;
end;

还是乱码~~:寳譬ghn~頺>3磨
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
请问怎么能够把byte转换成字符;
比如byte:"8f:
二进制:10001111
10进制就是:143;

b: byte;
c: AnsiChar;

b := $8f;
c := AnsiChar(b);
pengsor 2008-11-10
  • 打赏
  • 举报
回复
返回:寳譬ghn~頺>3磨
还是老问题
shadowstar 2008-11-10
  • 打赏
  • 举报
回复
这不可能转换成汉字吧
pengsor 2008-11-10
  • 打赏
  • 举报
回复
你看我该怎么修改程序,我知道是转换出问题了。
就是看怎么能够最后结果我是看的java程序,想用delphi重新改写实现!!
这是我做的一个算序列号的程序的一个小函数。
请问怎么能够把byte转换成字符;
比如byte:"8f:
二进制:10001111
10进制就是:143;
beiguofengguang 2008-11-10
  • 打赏
  • 举报
回复
for i:=0 to 15 do
Result := Result + chr(aArr[i]);
end;
试试
gzmhero 2008-11-10
  • 打赏
  • 举报
回复
一串包含数字和字母的字符串。 ?????

你转换后的结果不是数字和字母,有>128的ASCII,所以会出现乱码。

16,748

社区成员

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

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