• 3280阅读
  • 2回复

新人:大神们是怎么进行二进制文件打开的?? [复制链接]

上一主题 下一主题
离线a331860218
 

只看楼主 倒序阅读 楼主  发表于: 2016-05-09
我想这样打开一个二进制文件显示出来,但显示的都是乱码,大神们有什么解决方法?



MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QString path = QFileDialog::getOpenFileName(this,
                                                    tr("Open File"),
                                                    ".",
                                                    tr("Text Files(*.dat)"));

    QFile file(path);
    file.open(QIODevice::ReadOnly);
   // QDataStream in(&file);
    QString str;
    str = file.readAll();
    //QDebug() << str;
    textEdit = new QTextEdit(this);
    textEdit->setText(str);
    setCentralWidget(textEdit);
}

MainWindow::~MainWindow()
{

}




可以打开文件,但显示乱码。
离线kimtaikee

只看该作者 1楼 发表于: 2016-05-09

离线clickto

只看该作者 2楼 发表于: 2016-11-11
你直接读取二进制内容并转换为QString,当然是乱码啊,因为系统直接把你的二进制值转换为ASC码了啊。
如果要实现十六进制的显示,需要将读取到的每个字节转换为十六进制显示才行啊
快速回复
限100 字节
 
上一个 下一个