2011-05-10 90 views
2

我有一個char *(包含utf-8字符串),我想傳遞給ICU將其轉換爲ANSI(ISO-8859-6)。不幸的是,似乎大多數ICU功能都採用UChar而不是char *。我可以將char *轉換爲ICU中的UChar嗎?

如何進行此轉換?

+1

「包含Unicode字符」= UTF-8? – kennytm 2011-05-10 17:58:49

+0

'char *'作爲一種類型沒有給出底層編碼的指示; *編碼*是重要的部分。 – ildjarn 2011-05-10 18:00:37

+0

@KennyTM yes utf-8(謝謝我編輯了這個問題) – Abdelwahed 2011-05-10 18:04:09

回答

1

您可以使用靜態成員函數FromUTF8將UTF-8 StringPiece轉換爲UnicodeString。所以,如果你有一個char *,你可以這樣轉換:

const char* str; 
size_t len; 
UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len)); 
相關問題