您的位置:首页 > 编程语言 > Qt开发

QT:QString、QByteArray和char *的转换

2011-12-29 10:33 375 查看
第一种,数据流的方式,这里只说从QByteArray转向QString。

QByteArray encodedString = "xxx";

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

QString string = codec->toUnicode(encodedString);

第二种,常用的,网上看到的。

//常用参数类型:char *字符串, QByteArray字符数组, QString字符串

//需要转换:char * ---转--- QByteArray ---需要调用QByteArray类的构造函数

char*     --------------QByteArray(const char*)-----------> QByteArray

char* str;

QByteArray byte(str);

char*     --------------QString(const char*)-------------->QString

char* str;

QString string(str);

QByteArray   -------------data()-------------------->char*

QByteArray byte;

char* str = byte.data();

QByteArray ------------QString()------------------->QString

QByteArray byte;

QString string(byte);

QString --------------toAscii()--------------------> QByteArray

QString string;

QByteArray byte = string.toAscii();

QString -------------qPrintable()------------------>char*

QString string;
char* str = qPrintable(string);

原文地址:http://hi.baidu.com/wellalone/blog/item/0e2a9eedacac5b3badafd558.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt string byte codec