zoukankan      html  css  js  c++  java
  • delphi类型转换 asci与char

    ord(char) = asc
    chr(asc) = char
    inttohex(int,1) = hex (string)
     
    使用AStr[i]取AStr:String中的第i个字符时需要注意的事项:
    这里i表示第i个字符,并不是通常的0表示第1个,i表示第i+1个。
     
    二位的16进制转换为10进制:
    function HexToInt(hex : string):integer;
    var x : array [0..1] of integer;
        i : integer;
        s : string;
    begin
      for I := 0 to 1 do
      begin
        try
          if i = 0 then
            s := copy(hex,1,1)
          else    
            s := copy(hex,2,1);
          x[i] := StrToInt(s);
        except
          if s = 'A' then x[i] := 10;
          if s = 'B' then x[i] := 11;
          if s = 'C' then x[i] := 12;
          if s = 'D' then x[i] := 13;
          if s = 'E' then x[i] := 14;
          if s = 'F' then x[i] := 15;
        end;
      end;
      Result := x[0] * 16 + x[1];
    end;  
     
    优化,16 to 10
    function HexToInt(Hex : String) : int64;
    var AStr, AHex : String;
        HexLen, i, AH : integer;
        Power : integer;
    begin
      AHex := AnsiUpperCase(Hex);
      HexLen := Length(AHex);
      Result := 0;
      Power := 1;
      for I := 0 to HexLen - 1 do
      begin
        AStr := Copy(AHex,HexLen - i);    //从后往前取
        AH := Ord(AStr[1]) - 48;
        if (AH >= 17) and (AH <= 22) then AH := AH -7
        else if (AH < 0) or (AH > 22) or ((AH > 9) and (AH < 17)) then AH := null;
        if i <> 0 then Power := Power * 16;
        Result := Result + AH * Power;
      end;
    end;
     

    原文来自: http://blog.chinaunix.net/uid/30148519.html

    http://blog.chinaunix.net/uid-30148519-id-4850824.html

  • 相关阅读:
    Go---第七章:接口(小知识点笔记)
    Go---第六章:方法(小知识点笔记)
    Go---第五章:函数(小知识点笔记)
    解决paramiko获取远程脚本延时返回数据的问题
    python字典合并
    关于iperf的使用
    python安装MySQLdb:出错Microsoft Visual C++ 9.0 is required
    v2r
    Win10 HotCorner热角小程序
    去掉显卡桌面右键菜单
  • 原文地址:https://www.cnblogs.com/python001/p/4307703.html
Copyright © 2011-2022 走看看