請指定Windows和Linux機器之間是否存在表示差異(,如std :: wstring在Linux中佔用4個字節,在Windows中爲2個字節,在中佔用2個字節)。
如果需要,還請指定字節順序。您可以編寫「U + 9FA5(龥)」和「U + 0041(A)」unicode字符的UTF-8,UTF-16和std :: wstring表示嗎?
回答
不,我不能。但是this site可以。
我非常好的網站,清楚地說明了UTF-8和UTF-16的二進制代碼。加上馬丁約克這個事實,std :: wstring只是一個容器類型,我的問題得到了回答。 – hkBattousai 2010-11-24 13:04:59
這是你想要的東西:
int main()
{
std::wstring data1 = L"U+9FA5 (\0x9FA5)";
std::wstring data2 = L「U+0041 (A)";
}
的wstring的只是wchar_t的對象的容器。
沒有暗示的字符編碼(它只是存儲你把它放在什麼地方)。
Windows wchar_t目前是2個字節,所以它可能只能存儲UTF-16字符。 Linus wchar_t通常是4個字節。所以它可以使用UTF-16或UTF-32編碼。雖然這是最常見的情況,但這些重疊和上半部分都是零(當然,例外情況是代碼點不在BMP或代理對上)。
注意:UTF-8字符通常不在內部使用(雖然它們可以)在應用程序中,因爲它們不是固定寬度。但由於它的可壓縮性,它對於傳輸和存儲非常有用(並且與ASCII的向後兼容性不會受到影響)。
注意:C/C++不排除其字符串使用其他編碼格式。
UTF-8 *在GNOME(glib)中內部使用,我認爲glib是完全正常的。此外,Win32使用UTF-16,這是不固定的。 – upriser 2010-11-24 09:04:26
UTF-16BE是MS Office系列產品中使用的代碼頁,它將所有字符存儲爲2個字節,並且與Unicode字符集的「標準」部分非常相似。
Linux可能使用utf-8將標準ASCII字符存儲在單個字節中,但可能會根據unicode代碼點將其他Unicode字符存儲在兩個,三個或四個字節中。由於最左邊的位用標誌佔據,表示它不是ascii,以及你是多遠字符還是多遠。 (這個想法是你可以跳到一個隨機字節的utf-8字符串,並能夠找到你所在的字符的開頭。)
對於大多數具有高代碼點的遠東字符集以unicode爲單位(由Java使用)通常在空間和處理時間上比UTF-8更有效。
- 1. json.dumps帶有\ U轉義的unicode爲utf8
- 2. 將BOM設置爲Unicode U碼UTF8 perl
- 3. PHP 5,XSL和字符U
- 4. 假設用戶可以在CSS內容中看到unicode字符U + 2716和U + 2714是否安全?
- 5. 字符到Unicode超過U + FFFF在Java?
- 6. 布爾邏輯簡單化,爲什麼A E U + A E U + A E U = E(A + U)
- 7. iOS和unicode字符:\ u + 2605不是UILabel中的明星
- 8. 我的UTF8字符串中的Django \ u字符
- 9. Swift:如何將\ U文字編碼替換爲純UNICODE字符?
- 10. PHP,JSON和\ u-somethings
- 11. 做拉丁大寫字母I(U + 0049)和羅馬數字一(U + 2160)使用Unicode兼容性等價?
- 12. git pull U,A和D標籤:含義?
- 13. UTF8中可以有一個Unicode連字符多個表示形式嗎?
- 14. 總和數u和列表x u + x1 + x2的方案函數
- 15. python符號%u和%o
- 16. 字符串和UTF16
- 17. 子彈字符(U + 2022)可以安全使用嗎?
- 18. 顯示上述U + FFFF Unicode字符在Windows
- 19. ELF符號可以用UTF8表示嗎?
- 20. U []可以轉換爲T []嗎?
- 21. python u'\ u00b0'返回u'\ xb0'。爲什麼?
- 22. 將utf8代碼點字符串轉換爲utf8 <U+0161>轉換爲utf8
- 23. 將Unicode的UTF8表示寫入文件
- 24. iOS 8之後,我可以繼續使用UIActionSheet和UIAlertView嗎?
- 25. preg_match('/ [a-z0-9 \ - ] +/i',$ u)$ Sign
- 26. 在unicode和非unicode環境中轉換TCHAR * - > std :: wstring
- 27. 在cmd.exe中打印unicode'黑旗'⚑(U + 2691)字符
- 28. 從字符串中刪除U \ 0000fffc unicode標量
- 29. 名單 <pre><code>lst = [ u"aaa", u"bbb", u"foo", u"bar", ... u"baz", u"zzz" ] </code></pre> <p>是有必要寫每個字符串之前的前綴<code>u</code>?我可以做一個構造,說lst的每個元素都是unicode字符串,然後在沒有<code>u</code>前綴的情況下編寫它?</p>
- 30. 假設u和v都表示Python中的集合。在什麼情況下我們可以保證u | v == u^v?
你是什麼意思這些已經是Unicode字符。 – 2010-11-24 08:41:19
^我沒有這樣說過。 – hkBattousai 2010-11-24 13:00:36