Qt學習筆記(五)QString 字串
1、字符集
字元 Character:文字元號。
字符集 Charset:字元的集合,規定一系列字元與數字的關係(編碼)。
字符集都是由一些組織制定和釋出的,例如ISO/IEC就負責制定字符集。
每個字符集都有一個標準編號,例如,ASCII字符集的編號為ISO/IEC 646(即,由ISO/IEC釋出第646號標準文件)。
2、拉丁字符集
拉丁字符集,收錄了歐洲各個國家的字元,例如,希臘字母Aα Bβ。
拉丁字符集的編號為ISO 8859系列,例如,ISO8859-1字符集,也就是Latin-1,是西歐常用字元,包括德法兩國的字母。ISO8859-2字符集,也就是Latin-2,收集了東歐字元。
注意:拉丁字元的總數遠遠超過了256個,無法用一個char型表示,得用2個位元組表示。所以,即使不使用中文,外文字元的表示也是有問題的。
char a = ‘α’;// 這就有問題了
問題的原因是相同的,無法用一個位元組來表示一個字元。
ASCII碼:0-127之間,最高位0,拉丁字元:最高位1。以此來區分。
3、中文字符集
GB2312,中文簡體國標碼(6763個漢字);
GBK,擴充套件中文GB編碼(相容GB2312);(工具UltraEdit)
GB18030,用1-4個位元組編碼,容量超大;
BIG5,中文繁體編碼;
CJK,中日韓大字符集編碼;
Unicode,統一碼,用0-0x10FFFF來對映全球各國的語言文字。
Unicode編碼方案:
①UTF-32編碼:每個字元用一個int來表示;
②用1-2個short來表示一個字元;
③UTF-8編碼:用1-4個位元組來表示一個字元(比較節省空間)
注意:windows中.cpp檔案中的漢字都是以GBK格式編碼的,其他平臺可能會不一樣。所以,如果想以Unicode格式輸出,需通過某些方法來轉換。
4、QString相關轉換
Qt是一個跨平臺的框架,它封裝了一個QString類來代表字串,是一個Unicode16編碼的類。
void MyWin3::TestBtnClicked() {
QString str = "哈哈";
ui.lineEdit->setText(str);
}
void MyWin3::TestBtnClicked() {
QString str = QString::fromLocal8Bit("哈哈");
ui.lineEdit->setText(str);
}
5、程式釋出注意事項
當程式中帶有中文轉換處理時,需要將Qt使用的文字編碼庫一同釋出。
Windows下Qt應用程式:
①找到Qt的編碼庫:C:\x.x.x\plugins\codercs
②拷貝codecs資料夾到工程exe檔案所在目錄下。
③把vs的執行時庫也要拷貝到cedecs目錄下。(mvcm/mvcp/mvcr)
相關文章
- QT字串QStringQT字串
- Qt學習之路(50): QString薦QT
- C++ Qt開發:字串QString容器C++QT字串
- 字串學習筆記字串筆記
- QT學習筆記4(動畫)QT筆記動畫
- 【學習筆記】字串匹配筆記字串匹配
- 字串家族 學習筆記字串筆記
- JVM 學習筆記(五)JVM筆記
- cmake學習筆記(五)筆記
- Javascript 學習 筆記五JavaScript筆記
- KMP字串匹配學習筆記KMP字串匹配筆記
- 學習筆記——字串方法整理筆記字串
- C#字串學習筆記C#字串筆記
- ruby 字串學習筆記1字串筆記
- ruby 字串學習筆記3字串筆記
- ruby字串學習筆記4字串筆記
- ruby字串學習筆記5字串筆記
- Java IO學習筆記五Java筆記
- android學習筆記五Android筆記
- Spss 學習筆記(五)SPSS筆記
- c++學習筆記(五)C++筆記
- C/C++學習筆記:字串C++筆記字串
- 字典--Python學習筆記(五)Python筆記
- 大資料學習筆記(五)大資料筆記
- Android學習筆記(五)——FragmentAndroid筆記Fragment
- 《機器學習》西瓜書學習筆記(五)機器學習筆記
- 【Python學習】學習筆記 14-15 字串Python筆記字串
- Python學習筆記 - 字串,數字Python筆記字串
- Python學習筆記-字串及操作Python筆記字串
- Kubernetes學習筆記(五):卷筆記
- hive學習筆記之五:分桶Hive筆記
- TypeScript學習筆記之五類(Class)TypeScript筆記
- Activiti 學習筆記五:流程變數筆記變數
- Jenkinsant介紹(學習筆記五)Jenkins筆記
- OS學習筆記五:儲存模型筆記模型
- Python3.6學習筆記(五)Python筆記
- Delphi5學習筆記之五筆記
- python學習筆記(五)——語句Python筆記