如题,比如有二进制串:0000 0001 0010 0011 0000 0000(是单纯的二进制串,不是字符串),要怎样把它变成字符串'01 23 00'?
感谢帮忙。

解决方案 »

  1.   

    FUNCTION Byte_To_Hex(X : byte) : String2;
    { DESCRIPTION:
        Converts a byte into hexadecimal string.
      SAMPLE CALL:
        S := Byte_To_Hex(255);
      RETURNS:
        The hexadecimal representation of the specified value in a 2-bytes type
          string }
    var
      Digits : array [0..15] of char = '0123456789ABCDEF';BEGIN { Byte_To_Hex }
      Byte_To_Hex := Concat(Digits[X shr 4],Digits[X and 15]);
    END; { Byte_To_Hex }
      

  2.   

    谢谢,Concat函数是个很好的方法,以前没有注意过。
    btw:这个方法是要遍历二进制串并处理,那有没有哪个Delphi函数或API能够直接对整个二进制串进行转换的呢?
    再次感谢。
      

  3.   

    我试过BinToHex函数,并不成功,因为二进制串的类型不确定,所以传递参数都成问题,而且这个函数好像处理的不是二进制串,而是单个的二进制值。