比如00 B9 A4 00 00 00 00 00 00 00 00 00 00中的"B9A4"就是个"工"字,怎么读出来呢?

解决方案 »

  1.   

    如果文件是文本文件,你就可以直接讀出來;
    如果是二進制文件的話,就要先定位,然後讀取
    文件例如:
      FileStream.ReadBuffer(AWideChar,Sizeof(WideChar));
      

  2.   

    var
      cnStr: String[2];
    将判断到的中文字节(两个)读到cnStr中去,然后csStr不就表示这个中文单字了吗?!
    即:
    cnStr[1]:= Chr($B9);
    cnStr[2]:= Chr($A4);
    则可得到:
    cnStr = '中'
      

  3.   

    我是需要从一个2进制文件中读出来并显示到edit控件上可我现在总是读出后显示的是乱码
      

  4.   

    var
      cnStr: String[2];
    将判断到的中文字节(两个)读到cnStr中去,然后csStr不就表示这个中文单字了吗?!
    即:
    cnStr[1]:= Chr($B9);
    cnStr[2]:= Chr($A4);
    则可得到:
    cnStr = '中'虽然已经结贴,可我还是要说的是:
    如果当前字节值<=127,继续读取下一字节;
    否则如果当前读取的字节值>127,则连续读取两个字节的值到cnStr中,组成一个汉字。
    用上面的方法遍历文件的每一个字节,则可读出文件中的所有汉字。