有沒有任何C++方法支持這種轉換? 現在我只需填寫字符'0'將ucs2轉換爲ucs4,是否安全? 謝謝!如何使用C++和ucs2將ucs4轉換爲ucs2以使用ucs4?
1
A
回答
2
這對UCS2是正確的,但這很可能不是你所擁有的。現在,你更可能遇到UTF-16。與UCS-2不同,UTF-16將Unicode字符編碼爲一個或兩個16位單元。這是必要的,因爲Unicode在當前版本中的字符數超過了65536個。
更復雜的轉換通常可以由您的操作系統完成,並且有幾個(非標準)庫提供相同的功能,例如, ICU。
0
我有類似的東西。希望它會幫助:
String^ StringFromUCS4(const char32_t* element, int length)
{
StringBuilder^ result = gcnew StringBuilder(length);
const char32_t* pUCS4 = element;
int characterCount = 0;
while (*pUCS4 != 0)
{
wchar_t cUTF16;
if (*pUCS4 < 0x10000)
{
cUTF16 = (wchar_t)*pUCS4;
}
else
{
unsigned int t = *pUCS4 - 0x10000;
unsigned int h = (((t << 12) >> 22) + 0xD800);
unsigned int l = (((t << 22) >> 22) + 0xDC00);
cUTF16 = (wchar_t)((h << 16) | (l & 0x0000FFFF));
}
result->Append((wchar_t)*pUCS4);
characterCount++;
if (characterCount >= length)
{
break;
}
pUCS4++;
}
return result->ToString();
}
相關問題
- 1. 如何將python從UCS2更改爲UCS4
- 2. 嵌入式Cython UCS2 UCS4問題
- 3. 將字符串轉換爲UCS2編碼
- 4. 如何將python字符串轉換爲ucs2十六進制?
- 5. 如何將UCS2字符串轉換爲UTF8?
- 6. 用ucs4問題構建numpy
- 7. 使用UCS2時編碼問題與mysql
- 8. 我應該將UCS2還是UTF16轉換爲UTF?
- 9. NumPy的需要UCS2
- 10. UCS2與UTF。 UCS2編碼中無法顯示哪些語言?
- 11. UCS2十六進制編碼
- 12. 將字符串編碼到UCS2
- 13. 轉換UCS2(未知LE或BE)在數字十六進制格式爲UTF-8使用Perl
- 14. 重新安裝Python --enable-unicode = ucs4和lxml未定義符號:PyUnicodeUCS2_DecodeLatin1
- 15. 使用C#如何將RGB轉換爲YCrCb和YCrCb爲RGB
- 16. FontFactory(lowagie),Java,在嘗試使用UniJIS-UCS2-H(用於日語)時得到UnsupportedEncodingException
- 17. 如何使用C#函數將XML轉換爲XSLT轉換
- 18. 如何使用C#和ImageMagick將PDF轉換爲圖像?
- 19. GSM調制解調器以UCS2格式發送消息錯誤
- 20. 如何使用標準C++將c字符串轉換爲xml?
- 21. 如何使用P/INVOKE將C++ char *轉換爲C#字符串
- 22. 如何將使用C++ pass-by-reference的函數轉換爲C?
- 23. 如何使用C或C++將.caf文件轉換爲.wav?
- 24. 如何使用PInvoke將Unicode字符串從C++轉換爲C#
- 25. 使用xamarin將C#轉換爲apk
- 26. 使用c將xsd轉換爲xml#
- 27. C#使用.ToList()將IEnumerable轉換爲IList?
- 28. 使用gdi +(C#)將png轉換爲gif
- 29. 使用Google.Math.Long將JS轉換爲C#
- 30. C#使用linq將列轉換爲行?
謝謝,但ICU對我來說太大了。 – PDF1001 2011-05-31 02:04:14