zoukankan      html  css  js  c++  java
  • Delphi 实现16进制转字符串及字符串(中文)转16进制

     

    //-----------------------------------------------
    //16进制字符转整数,16进制字符与字符串转换中间函数
    //-----------------------------------------------
    function HexToInt(hex: string): integer;
    var
      i: integer;
      function Ncf(num, f: integer): integer;
      var
        i: integer;
      begin
        Result := 1;
        if f = 0 then exit;
        for i := 1 to f do
          result := result * num;
      end;
      function HexCharToInt(HexToken: char): integer;
      begin
        if HexToken > #97 then
          HexToken := Chr(Ord(HexToken) - 32);
          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;
    begin
      result := 0;
        hex := ansiuppercase(trim(hex));
      if hex = '' then
        exit;
      for i := 1 to length(hex) do
      result := result + HexCharToInt(hex[i]) * ncf(16, length(hex) - i);
    end;
     
     
     
    //-----------------------------------------------
    //字符串转16进制字符
    //-----------------------------------------------
    function StringToHex(str: string): string;
    var
       i : integer;
       s : string;
    begin
       for i:=1 to length(str) do begin
           s := s + InttoHex(Integer(str[i]),2);
       end;
       Result:=s;
    end;
     
     
     
    //-----------------------------------------------
    //16进制字符转字符串 
    //-----------------------------------------------
    function hextostring(str: string): string;
    var
      s,t:string;
      i,j:integer;
      p:pchar;
    begin
       s:='';
       i:=1;
       while i< length(str) do begin
          t:=str[i]+str[i+1];
          s:=s+chr(hextoint(t));
          i:=i+2;
       end;
       result:=s;
    end;

  • 相关阅读:
    新能源汽车产业发展规划(2021-2035年)
    Spire.Doc 生成长图
    【Kafka】单机Kafka测试
    【Linux】IO多路复用之select、poll、epoll模型
    【Linux】五种IO模型
    【Linux】零拷贝技术(Zero Copy)
    【Linux】系统相关概念
    【SpringBoot】SpringBoot 整合Redisson
    【Spring】SpringBoot + SpringSession + Redis 实现Session共享
    【SpringBoot】SpringBoot 整合Redis
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/5363741.html
Copyright © 2011-2022 走看看