Qt中的unicode轉換

2021-08-07 02:52:34 字數 613 閱讀 2019

在qt中,在大多數情況下都是採用unicode的形式儲存的,但是qbytearray實際上是以char的形式儲存的,因此轉換成unicode表示的qstring時需要根據編碼的型別進行轉換。

[cpp]view plain

copy

#include

#include

#include

#include

intmain(

intargc, 

char

*argv)    

執行的結果是:

qtextcodec實現了對unicode的轉換,可以通過指定名字來獲取乙個qtextcodec的例項。

可以看出在chinese.txt檔案中採用的是gb18030的編碼,每個漢字需要2個位元組英文本母為乙個位元組,包含逗號,因此為8個位元組。

而在main.cpp檔案中「您好,qt」這幾個字採用的是utf-8的編碼,每個漢字三個位元組,因此為11個位元組。

因此在qt中要實現轉換首先要搞明白轉換前採用的編碼形式。

from:   

WINDOWS 中 UNICODE的轉換

include windows.h 需要引用該標頭檔案,使用 wchar multibytetowidechar widechartomultibyte 編碼知識 windows中ansi編碼為本地預設編碼,中文為gbk gb2312,網路傳輸和linux等之中為utf 8。unicode為當前最通...

VB中Unicode的轉換

vb本身的字串格式就是unicode,用winsock傳送字串的話,會預設把字串轉換為ansi的格式進行傳送。ansi格式,對於英文符號等仍然使用單位元組,漢字使用雙位元組。如果需要進行轉換的話,可以用strconv來進行。如 dim bytefilename as byte bytefilenam...

字元轉換 Unicode,進製轉換

charcodeat 方法,此方法返回乙個字元的 unicode 值,該字元位於指定索引位置。fromcharcode 方法,此方法將 unicode 碼轉換為與之對應的字元。字元轉unicode碼 var str 申曉亮 str.charcodeat 0 unicode碼轉字元 string.fr...