Qt學習筆記之 字串型別小結

2021-10-02 11:15:09 字數 1084 閱讀 2528

qstring是unicode編碼的字串,儲存一系列16位的qchar,每乙個qchar對應乙個unicode 4.0編碼的字元,詳見《qt學習筆記之qstring》。

qbytearray是個位元組陣列,可以儲存原始位元組(包括一系列'\0')和傳統的8位'\0'結尾的字串,每乙個位元組儲存為char型別的資料;

雖然qstring用得更普遍和方便,但當需要儲存原始的二進位制資料或者記憶體保護要求嚴格時,用qbytearray比用qstring更合適,詳見《qt學習筆記之qbytearry》。

qchar儲存乙個16位(2個位元組)的unicode字元,資料的儲存型別為ushort(unsigned short),詳見《qt學習筆記之qchar》。

qlatin1char是個結構體,儲存乙個8位ascii/latin-1編碼的字元,資料的儲存型別為char,詳見《qt學習筆記之qlatin1char》。

qbytearray與qstring互轉極為簡單,二者從本質上類似,都是連續儲存,區別是前者可以存無法顯示的字元,後者只存可顯示的字元。如qbytearray可以存0x00-0x19,而qstring則儲存如0x30等可顯示字元(0x20-0x7e)

qstring 轉 char ,需要用到 qbytearray 類, 因為 char 最後都有乙個'\0'作為結束符,而採用 qstring::tolatin1() 時會在字串後面加上'\0'。

{ //! qstring轉qchar

qstring str = "hellow";

qchar *ch = new qchar[10];

ch = str.data();

for (int i = 0; i < 10; i++)

qdebug()<

//qchar - char 

// char qchar::tolatin1() 或者 char qchar::toascii() const

char ch;

qchar qch;

ch = qch.tolatin1;

//char -> qchar

qchar(char ch)

qchar (uchar ch)

Qt學習筆記 字串類

標準c 提供了兩種字串,一種是c語言風格的以 0 結尾的字元陣列,另一種是字串類string。而qt提供的qstring功能更強大。qstring類儲存16位unicode值,提供了豐富的操作 查詢和轉換等函式。該類還進行使用影視共享 implicit sharing 高效的記憶體分配策略等多方面的...

Redis學習筆記 字串型別

上篇筆記部落格中有些有些關鍵點未提到,現在這裡補充下 127.0 0.1 6379 help redis cli 3.0 2type help toget a list of commands in help for help on help toget a list of possible hel...

Python學習筆記(字串型別)

字串是用雙引號 或者單引號 括起來的乙個或多個字元。字串可以儲存在變數中,也可以單獨存在。可以用type 函式測試乙個字串的型別。python語言轉義符 輸出帶有引號的字串,可以使用轉義符。使用 可以輸出帶有轉義符的字串。字串是乙個字串行 字串最左端位置標記為0,依次增加。字串中的編號叫做 索引 單...