ICUに渡してANSI(ISO-8859-6)に変換したいchar *(utf-8文字列を含む)があります。残念ながら、ほとんどのICU関数はchar*ではなくUCharを使用しているようです。
どうすればこの変換を行うことができますか?
ドキュメントを見ましたか?UnicodeString::fromUTF8
際立っている...
// given char* str
UnicodeString ustr = UnicodeString::fromUTF8(StringPiece(str));
ustr
を使用して目的のコードページに変換する方法を知っていると思いますUnicodeString::extract
。
静的メンバー関数FromUTF8
を使用して、UTF-8StringPiece
をに変換できますUnicodeString
。したがって、char *がある場合は、次のように変換できます。
const char* str;
size_t len;
UnicodeString ucs = UnicodeString::FromUTF8(StringPiece(str, len));