如何才能将字节流转换成二进制编码???

解决方案 »

  1.   


    var
       a:char;
    begin
       a:='b'    (这里a里面存放的是ascii码)
    end
    问题是:对方要求用二进制编码来存放,才能解析出来。
    真不知道我这个a里面应如何存放这个二进制编码
    我的理解是字符b的16进制为42难道存放这个数,但是有的字符
    的16进制会为6D之类的,这样一个a变量又放不下.真是不知所措
      

  2.   

    1、二进制就是010101的方式来储存数据2、TStream里是流
      

  3.   

    因为我和对方用的是Socket来通讯,传送的东西为图像,所以对方要求用二进制编码,(协议上规定传送只使用char类型)但是我用TStream来取得图像后想把它拷贝到Socket的buffer里,发过去,就是不行,真不知道char里怎样才算储存的是二进制编码...难过啊
      

  4.   

    所谓的char类型就是字节类型阿!
    就是说你是一个一个字节的传过去,任何数据都是有一个一个字节组成的,socket传输的时候看到的总是一个一个的字节,谁知道那些字节是用来组成什么的?我象你遇到的问题大概是图像超过了8k,就是说不能一次性的把图像发过去,你要自己定义协议了,发送之前先传输图像的总大小,然后再传输图像,接受方socket不断触发onread的时候看看总字节是否达到了预先传来的总字节数,使就结束,并合并多次传来的数据,否则继续等待下一次传输。这样以来实现断点续传就很容易了
      

  5.   

    楼上的兄弟说的是,但是我们的协议己规定了每次只传送2k,图像大小现在不是问题,关键是我用以上的方法发过去,它解不出来(文字是可以解出来的)
    它要求用什么二进制编码,但我也觉得char类型就是字节类型,每一个字节类型本来就有相应的二进制编码,是不是要这样理解:
      char里面存放的是Ascii码,如字符a存放到char里,char中显示为#97
      现在要示二进制编码,是不是要把a转换成16进制, char中显示为#67
      

  6.   

    char 的就是阿,hex 01 = oct 1= bin 00000001