• 4987阅读
  • 0回复

[讨论]QString和Unicode编码的疑问 [复制链接]

上一主题 下一主题
离线reconfig_ali
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-25
资料上说,QT中QString都是使用的Unicode编码的。
在windows系统(假设System编码是GBK)的Qcreator中,先进行如下设置:
QTextCodec *codec = QTextCodec::codecForName("System");
  QTextCodec::setCodecForCStrings(codec);
然后:
QString  testString = "我是汉字"

这个时候,能正常显示testString为“我是汉字”。
我想问的是:testString中存储的是Unicode编码的“我是汉字”,还是System(GBK)编码的“我是汉字”?
或者换个角度问:以System(GBK)编码的源文件中,“我是汉字”的编码十六进制为:ce d2 ca c7 ba ba d7 d6;而保存到QString testString中的却是“我是汉字”的Unicode编码的十六进制。即其中有一个编码转换的过程。
不知道我描述清楚了么?请达人解答。
另:我在debug的过程中,看不到QString的二进制数据,本来想直接看存储到testString中的二进制数据,看看是不是Unicode编码的,却看不出是什么编码,很是纳闷。。。
快速回复
限100 字节
 
上一个 下一个