ought to be:
vb中  Open "C:\1.exe" For Binary As #1 
     filelen = LOF(1)
      strContent = Space$(filelen)
      Get #1, , strContent

解决方案 »

  1.   

    那在c#中怎样得到和vb中一样的字符串呢?
      

  2.   

    System.Text.Encoding.Default.GetString(MyData);
    换成
    System.Text.Encoding.GetEncoding("gb2312").GetString(MyData);
    参见我的问题:
    http://expert.csdn.net/Expert/topic/2539/2539409.xml?temp=.1281549
      

  3.   

    bankliu,你的方法对exe文件好像不行。帮忙看一下。
      

  4.   

    这位兄台,你随便找个exe文件试一下看看。
    我帖一下第一行
    vb的:
    MZ       ÿÿ         @                                      ? ???L?This program cannot be run in DOS mode.
    C#的
    MZ       ï£µï£µ         @                                      ? ???L?This program cannot be run in DOS mode.
      

  5.   

    搂主阿,exe文件里当然不都是字符串了,你看
    vb的:
    MZ       ÿÿ         @                                      ? ???L?This program cannot be run in DOS mode.
    C#的
    MZ       ï£µï£µ         @                                      ? ???L?This program cannot be run in DOS mode.
    其中This program cannot be run in DOS mode.就是字符串阿,其他的不是的,况且这种读法不叫做2进制,是16进制的
      

  6.   

    to bankliu;
    那个是我把它写到文件,再用ue打开,粘出来的。关键是vb和c#里的结果不一样。是否C#中修改某些参数,就可以得到相同的结果呢?
      

  7.   

    好像得不到相同的结果,如果你用utf-8得到的结果一样,那么gb3的ASCII码可能在vb和c#略有不同,不过这个不同不会影响读出的真正字符串和汉字的效果的.