求教,如何将单字节HEX转为字串string
我是才接触DELPHI编程,不知道怎么才能把一个16进制的字节,转换为一个字串,请各位高手指点比如字节为16进制FF->字串'FF';16进制F3->字串'F3';16进制00->字串'00'.
我写这么段函数
function SHexToStr(Shex:byte):String;
var
Hb,Lb:byte;
begin
SHexToStr:='';
Hb:=Shex DIV 16; //高4位
Lb:=Shex MOD 16; //低4位
if Hb<10 then
Hb:=Hb+30
else
Hb:=Hb+40;
if Lb<10 then
Lb:=Lb+30
else
Lb:=Lb+40;
SHexToStr:=Char(Hb)+Char(Lb);
end;
SHexToStr:=Char(Hb)+Char(Lb);这里该如何实现数字到ASCII码的转换
这样
function SHexToStr(Shex:byte):String;var
Hb,Lb:Integer;
const
digits = '0123456789ABCDEF';
begin
SHexToStr:='';
Hb:=Shex DIV 16; //高4位
Lb:=Shex MOD 16; //低4位
Result := digits[hb+1] + digits[lb+1];
end;
谢谢makebest 指导
我也用查表解决了,太笨了,我不懂这样的,见笑了function SHexToStr(Shex:byte):String;
var
Hb,Lb:byte; //字节
Hchar,LChar:AnsiChar; //单字节字符
begin
Hb:=Shex DIV 16; //高4位
Lb:=Shex MOD 16; //低4位
case Hb of
0: Hchar:='0';
1: Hchar:='1';
2: Hchar:='2';
3: Hchar:='3';
4: Hchar:='4';
5: Hchar:='5';
6: Hchar:='6';
7: Hchar:='7';
8: Hchar:='8';
9: Hchar:='9';
10: Hchar:='A';
11: Hchar:='B';
12: Hchar:='C';
13: Hchar:='D';
14: Hchar:='E';
15: Hchar:='F';
end;
case Lb of
0: Lchar:='0';
1: Lchar:='1';
2: Lchar:='2';
3: Lchar:='3';
4: Lchar:='4';
5: Lchar:='5';
6: Lchar:='6';
7: Lchar:='7';
8: Lchar:='8';
9: Lchar:='9';
10: Lchar:='A';
11: Lchar:='B';
12: Lchar:='C';
13: Lchar:='D';
14: Lchar:='E';
15: Lchar:='F';
end;
SHexToStr:=Hchar+Lchar; //返回转换结果
end;
页:
[1]
