Qt foreach 和 QTextCodec类的用法

来源:互联网 发布:09零食淘宝店 编辑:程序博客网 时间:2024/05/06 16:20

1.关于foreach关键字:


foreach(variables ,container)关键字是Qt对c++的一个扩展,主要用于按顺序历经容器(container)中的对象,例如:

QLinkList<QString> list;
QString str;

foreach(str , list)

{

      qDebug()<<str;
}

这样就可以历经list里存储的对象了,它的作用相当于标准C++中的iterator

QLinkList<QString> list;

QLinkListIterator<QString> i(list);

while(i.hasNext()) {

qDebug()<<i.next();

}

2.关于QTextCodec对象:


该对象主要用于非Unicode编码数据与Unicode编码数据之间的转换,例如:

假设现在有一个采用俄国的KOI8-R编码格式的字符串encodedString,现在将它转换成Unicode

QByteArray encodedString = "Hello";

QTextCodec *codec = QTextCodec::codecForName("KOI8-R");

QString string = codec->toUnicode(encodedString);

上述操作完成后,string里存储的就是Unicode编码的字符串了

相反的过程:

QTextCodec *codec = QTextCodec::codecForName("UTF-8");

QByteArray encodedString = codec->fromUnicode(string);

操作完成后,encodedStirng里存储的就是从Unicode转换来的UTF-8编码的字符串了

0 0
原创粉丝点击