2009-10-18 59 views
1

我有兩個問題。從Unicode代碼點獲取字符 - C++

1 - 我得到Unicode碼點以及如何得到這個代碼點相關聯的角色?例如:

int code_point = 0xD24; 
char* chr = (char*) code_point; 

但上面的代碼通過拋出異常失敗。

2 - 假設的代碼點存儲在一個文件,我讀的代碼點爲一個字符串,我如何將其轉換成有效的Unicode字符串?

我要尋找一個平臺獨立的解決方案。任何幫助將是偉大的!

+0

你想要什麼編碼的字符? – 2009-10-18 06:59:56

+0

任何有效的Unicode編碼。 UTF-8可能。 – 2009-10-18 07:01:59

+5

UTF-8可能?你得知道。 code_points甚至需要查看的長度將根據編碼而有所不同。請參閱http://www.joelonsoftware.com/articles/Unicode.html – 2009-10-18 07:19:05

回答

4

有你看了International Components for Unicode項目?按照該網站,

ICU是一個成熟的,廣泛使用的一組 C/C++,並提供 Unicode的Java庫和全球化支持 軟件應用程序。 ICU是廣泛 便攜,使應用程序在所有平臺上 相同的結果和C/C++和Java軟件之間 。

1

難道你不是指給char(或者更準確地說,是指向wchar_t)而不是char *指定該值嗎?

0

您正在尋找的名稱的字符?在ICU的u_charName()將做到這一點,返回像LATIN SMALL LETTER A