• 5852阅读
  • 4回复

求救:关于QT中QString的编码转化问题? [复制链接]

上一主题 下一主题
离线sjffashion
 
只看楼主 倒序阅读 楼主  发表于: 2010-04-06
哪位大神帮帮忙:最近在写一个基于QT的加解密注册机制,使用了QT中的QString来存储加密后的乱码,但是好像QString是使用的UNOCODE的编码,存储到txt中以后就显示成了很多?号,不知道在代码里面应该怎样转换,可以使得txt中存储的和期望的一致,谢谢!
离线dbzhang800

只看该作者 1楼 发表于: 2010-04-06
不妨先介绍一下你怎么写入文件的
离线sjffashion
只看该作者 2楼 发表于: 2010-04-06
void writeFile1(QString str,QFile &file)
{
        QTextCodec *code=QTextCodec::codecForName("utf8");
        QTextStream out(&file);
        out.setCodec(code);
        out<<str;
}
这是对file进行简单的读写,刚才改了下,这样加入"utf8",倒是可以写入乱码了,不过读出的时候解密貌似就存在问题了,好像utf8的格式不是很了解。这个file对应的是一个简单的txt文本,麻烦指教下,不胜感激。。。。。。。
离线sjffashion
只看该作者 3楼 发表于: 2010-04-06
我现在出现的问题是,我使用"utf8"达到了在txt中显示乱码的效果,但是当我回头再读取这个乱码文本的时候,我试了试qDebug一下,显示的还是问?号,不知道怎么回事,还有就是在我加密的时候我qDebug一下,输出加密的结果也是有?号,但是如果我把这个乱码赋给一个lineEdit的话,就显示正常,现在真的不知道它的机制是怎样的?????请教大神那,救命啊
离线dbzhang800

只看该作者 4楼 发表于: 2010-04-06
看不懂你在做什么,不过加解密的话,应该和QString关系不大,你关注的重点应该是QByteArray吧?
快速回复
限100 字节
 
上一个 下一个