2012-12-05 82 views
0

如何使從UTF8西里爾字符轉換爲UTF8拉丁字符的函數?我知道我應該製作字符表,但我的主要問題是如何表示字符串(在C,Linux操作系統中)?作爲char *或int *(由於UTF8的大小)?從西里爾文轉換爲拉丁文C

void convert(unsigned char* str) { 
    if(str[0] == 'A') str[0] = 0xd090; // Cyrillic A 
    ... 
} 
+0

選中此鏈接(http://stackoverflow.com/questions/172133/utf8-vs-utf16-vs-char-vs-what-someone-explain-this-mess-to-me)。 –

回答

1

不能代替與int(或short)一char,因爲它不會在char適合。將拉丁字符讀入wchar_t數組,或者爲西里爾文字符使用單獨的輸出數組。

相關問題