首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教asc码与asc2码有区别吗?怎么将asc码转换成16进制码

2012-02-29 
请问asc码与asc2码有区别吗?如何将asc码转换成16进制码?有将asc码转换成16进制码的工具吗?请看如下数据:初

请问asc码与asc2码有区别吗?如何将asc码转换成16进制码?
有将asc码转换成16进制码的工具吗?
请看如下数据:
初始化:
COM1【WRITE:0】68   99   99   99   99   99   99   68   05   01   61   CD   16  
COM1【READ:0】68   FF   FF   FF   FF   FF   FF   68   C5   01   32   C2   16  
COM1【WRITE:0】68   99   99   99   99   99   99   68   03   01   02   6C   16  
COM1【READ:0】68   FF   FF   FF   FF   FF   FF   68   C3   01   31   BF   16  

其中第一行的:68   99   99   99   99   99   99   68   05   01   61   CD   16
这是asc码还是其它什么码?
如何将这个转换成16进制的呀?
先谢了。

[解决办法]
68 99 99 99 99 99 99 68 05 01 61 CD 16 这是十六进制字符串

StrToIntDef( '$ ' + '68 ', 0); // 十六进制换成整数

IntToHex($68, 2); // 整数换成十六进制字符串

//参考如下代码

function HexToStr( //十六进制字符串处理成字符串
mHex: string //十六进制字符串
): string; //返回处理后的字符串
var
I: Integer;
begin
Result := ' ';
mHex := StringReplace(mHex, #32, ' ', [rfReplaceAll]);
for I := 1 to Length(mHex) div 2 do
Result := Result + Chr(StrToIntDef( '$ ' + Copy(mHex, I * 2 - 1, 2), 0));
end; { HexToStr }

function StrToHex( //字符串处理成十六进制字符串
mStr: string; //字符串
mSpace: Boolean = False //是否用空格分开
): string; //返回处理后的十六进制字符串
const
cSpaceStr: array[Boolean] of string = ( ' ', #32);
var
I: Integer;
begin
Result := ' ';
for I := 1 to Length(mStr) do
Result := Format( '%s%s%.2x ', [Result, cSpaceStr[mSpace], Ord(mStr[I])]);
if mSpace then Delete(Result, 1, 1);
end; { StrToHex }

热点排行