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;

  • 相关阅读:
    数据类面试题
    java二进制文件复制
    String源码
    集合类题目
    OBJ-C
    java文件(文件夹)操作
    java中输入方式Scanner和BufferedReader
    二次分发举例
    Eclipse常用快捷键
    c#获取新浪微博登录cookie
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/3047509.html
Copyright © 2011-2022 走看看