怎么把一个字符串转换成 16 进制数据,然后再把16 进制数转成字符串? unit BinHexTools; interface function HexToBin(HexNr : string): string; //把十六进制字符串转换为二进制字符串 function HexCharToInt(HexToken : char):Integer; //转换一个十六进制字符为整数 function HexCharToBin(HexToken : char): string;//转换一个十六进制字符为二进制字符串 function pow(base, power: integer): integer;//指数函数 function BinStrToInt(BinStr : string) : integer;//把二进制字符串转换为整数 function DecodeSMS7Bit(PDU : string):string;// 解码一个 7-bit SMS (GSM 03.38) 为 ASCII 码 function ReverseStr(SourceStr : string) : string; //反转一个字符串 implementation uses sysutils, dialogs; function HexCharToInt(HexToken : char):Integer; begin {if HexToken>#97 then HexToken:=Chr(Ord(HexToken)-32); { use lowercase aswell } Result:=0; if (HexToken>#47) and (HexToken<#58) then { chars 0....9 } Result:=Ord(HexToken)-48 else if (HexToken>#64) and (HexToken<#71) then { chars A....F } Result:=Ord(HexToken)-65 + 10; end; function HexCharToBin(HexToken : char): string; var DivLeft : integer; begin DivLeft:=HexCharToInt(HexToken); { first HEX->BIN } Result:=''; { Use reverse dividing } repeat { Trick; divide by 2 } if odd(DivLeft) then { result = odd ? then bit = 1 } Result:='1'+Result { result = even ? then bit = 0 } else Result:='0'+Result; DivLeft:=DivLeft div 2; { keep dividing till 0 left and length = 4 } until (DivLeft=0) and (length(Result)=4); { 1 token = nibble = 4 bits } end; function HexToBin(HexNr : string): string; { only stringsize is limit of binnr } var Counter : integer; begin Result:=''; for Counter:=1 to length(HexNr) do Result:=Result+HexCharToBin(HexNr[Counter]); end; function pow(base, power: integer): integer; var counter : integer; begin Result:=1; for counter:=1 to power do...