zoukankan      html  css  js  c++  java
  • HexStrToStream

    function HexStrToStream(AHexStr: String;AStream: TStream):Boolean;
    var
      iLen: Integer;
      Buff: String;
      P1,P2: PChar;
      B: Byte;
    begin
      Result := False;
      if Not Assigned(AStream) then Exit;
      iLen := Length(AHexStr);
      if iLen = 0 then Exit;
      if (iLen mod 2) <> 0 then Exit;
      SetString(Buff,Nil,iLen div 2);
      P1 := PChar(AHexStr);
      P2 := PChar(Buff);
      while iLen > 0 do begin
        if P1^ in ['0'..'9'] then
          B := Ord(P1^) - Ord('0')
        else if P1^ in ['A'..'F'] then
          B := Ord(P1^) - Ord('A') + 10
        else if P1^ in ['a','f'] then 
          B := Ord(P1^) - Ord('a') + 10
        else 
          Exit;    
        B := B shl 4;
        Inc(P1);
        Dec(iLen);
        if P1^ in ['0'..'9'] then
          B := B + Ord(P1^) - Ord('0')
        else if P1^ in ['A'..'F'] then
          B := B + Ord(P1^) - Ord('A') + 10
        else if P1^ in ['a','f'] then 
          B := B + Ord(P1^) - Ord('a') + 10
        else 
          Exit; 
        Inc(P1);
        Dec(iLen);
        P2^ := Chr(B);
        Inc(P2);
      end;
      AStream.WriteBuffer(PChar(Buff)^, Length(Buff));
      Result := True;
    end;

  • 相关阅读:
    序列化二叉树
    按之字形顺序打印二叉树
    C#读写文件的方法汇总_C#教程_脚本之家
    c#缓存介绍(转)
    ASP.NET 缓存技术分析
    pickle使用
    python3.4使用文件
    io的常用操作
    manven需要注意点几点
    git中一些常用的命令
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/3047509.html
Copyright © 2011-2022 走看看