#ifndef _QT_GBK_H
#define _QT_GBK_H
#include <QString>
#include <QTextCodec>
#include <string>
using std::string;
class GBK
{
public:
// QString(Unicode) -> std::string (GBK)
static string FromUnicode(const QString& qstr)
{
QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
if(!pCodec) return "";
/* 注: 如果pCodec為NULL, 則說明你的Qt安裝位置不是默認位置,
具體解決方法看Qt篇的《常見問題匯總》! */
QByteArray arr = pCodec->fromUnicode(qstr);
string cstr = arr.data();
return cstr;
}
// std::string (GBK) -> QString(Unicode)
static QString ToUnicode(const string& cstr)
{
QTextCodec* pCodec = QTextCodec::codecForName("gb2312");
if(!pCodec) return "";
/* 注: 如果pCodec為NULL, 則說明你的Qt安裝位置不是默認位置,
具體解決方法看Qt篇的《常見問題匯總》! */
QString qstr = pCodec->toUnicode(cstr.c_str(), cstr.length());
return qstr;
}
/* 取兩個較短的函數名 : w: wide-char a: ansi
大家可以用這兩個函數
*/
// QString(Unicode) -> std::string (GBK)
static string w2a(const QString& qstr)
{
return FromUnicode(qstr);
}
// std::string (GBK) -> QString(Unicode)
static QString a2w(const string& cstr)
{
return ToUnicode(cstr);
}
};
#endif
VC下字符編碼轉換
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- iOS中對字符串漢字進行UTF-8編碼:輸出str字符串的UTF-8格式 [str stringByAddingP...
- 1. 方法 字符 → ASCII 碼:StringValue.charCodeAt() ASCII 碼 → 字符:...