怎么把一个符串转换成16进制数据.doc

怎么把一个符串转换成16进制数据.doc

ID:55342186

大小:50.50 KB

页数:6页

时间:2020-05-11

怎么把一个符串转换成16进制数据.doc_第1页
怎么把一个符串转换成16进制数据.doc_第2页
怎么把一个符串转换成16进制数据.doc_第3页
怎么把一个符串转换成16进制数据.doc_第4页
怎么把一个符串转换成16进制数据.doc_第5页
资源描述:

《怎么把一个符串转换成16进制数据.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、怎么把一个字符串转换成16进制数据,然后再把16进制数转成字符串?unitBinHexTools;interfacefunctionHexToBin(HexNr:string):string;//把十六进制字符串转换为二进制字符串functionHexCharToInt(HexToken:char):Integer;//转换一个十六进制字符为整数functionHexCharToBin(HexToken:char):string;//转换一个十六进制字符为二进制字符串functionpow(base,power:integer):integer;//指数函数functionBinS

2、trToInt(BinStr:string):integer;//把二进制字符串转换为整数functionDecodeSMS7Bit(PDU:string):string;//解码一个7-bitSMS(GSM03.38)为ASCII码functionReverseStr(SourceStr:string):string;//反转一个字符串implementationusessysutils,dialogs; functionHexCharToInt(HexToken:char):Integer; begin  {ifHexToken>#97thenHexToken:=Chr(Ord

3、(HexToken)-32);  {uselowercaseaswell} Result:=0; if(HexToken>#47)and(HexToken<#58)then{chars0....9} Result:=Ord(HexToken)-48 elseif(HexToken>#64)and(HexToken<#71)then{charsA....F} Result:=Ord(HexToken)-65+10;end;functionHexCharToBin(HexToken:char):string;varDivLeft:integer;begin DivLeft:=HexCh

4、arToInt(HexToken);{firstHEX->BIN} Result:=''; {Usereversedividing} repeat{Trick;divideby2} ifodd(DivLeft)then{result=odd?thenbit=1} Result:='1'+Result{result=even?thenbit=0} else Result:='0'+Result; DivLeft:=DivLeftdiv2;{keepdividingtill0leftandlength=4} until(DivLeft=0)and(length(Result)=4);{

5、1token=nibble=4bits}end;functionHexToBin(HexNr:string):string; {onlystringsizeislimitofbinnr} varCounter:integer; begin Result:='';  forCounter:=1tolength(HexNr)do Result:=Result+HexCharToBin(HexNr[Counter]);end;functionpow(base,power:integer):integer; varcounter:integer; begin  Result:=1;  fo

6、rcounter:=1topowerdo  Result:=Result*base; end; functionBinStrToInt(BinStr:string):integer; varcounter:integer; begin  iflength(BinStr)>16then  raiseERangeError.Create(#13+BinStr+#13+  'isnotwithinthevalidrangeofa16bitbinary.'+#13);  Result:=0;  forcounter:=1tolength(BinStr)do  ifBinStr[Counte

7、r]='1'then  Result:=Result+pow(2,length(BinStr)-counter); end; functionDecodeSMS7Bit(PDU:string):string; varOctetStr:string;  OctetBin:string;  Charbin:string;  PrevOctet:string;  Counter:integer;  Counter2:integer; begin  PrevOctet:=''

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。