weixin_37617896
年少的隔壁老王
采纳率100%
2018-11-14 06:13

C# 读取C++写的 二进制文件

20
已采纳

图片说明图片说明

    二进制文件是c++写的, 现在用C# 把这个二进制文件的字段读出来,用C# 自带的二进制文件读写方法读出来的数据乱码, 是因为C++ 和 C# 的数据类型所占用的字节长度不一致导致的吗,具体应该怎么读,求大神指教
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    byte[] filecnt = File.ReadAllBytes("文件名");
    string sitecode = "";
    for (int i = 0; i < 8; i++)
    {
    if (filecnt[i] != 0)
    sitecode += ((char)filecnt[i]).ToString();
    else
    break;
    }
    你先看看上面的代码能不能读到sitecode,如果可以,采纳本回答,帮你接着写下去。

    点赞 评论 复制链接分享
  • mylord14725836914725 mylord14725836914725 3年前

    应该和字节长度没关系。
    用流全部读取文件试下。用utf-8读取。

        string str = File.ReadAllText(path, Encoding.UTF8);
        Console.WriteLine("ReadAllText读所有行:\n" + str);
    
    点赞 评论 复制链接分享