4

C ++でUTF-8からラテン語/アラビア語およびラテン語/アラビア語UTF-8に変換するクロスプラットフォームの方法はありますか?

4

2 に答える 2

3

利用可能なicuのようなライブラリがあります。しかし、もちろん、エリックは正しいです。UnicodeからISO8859-6への往復は損失が大きくなります。(はい、UTF-8は「Unicode」です。UTF-16も「Unicode」であり、同じコード番号に対して異なるビットパターンを持っています。それを知らなかった場合は、JoelSpolskyのテキストを参照してください。まだ読んでいません、良い資料です。)

于 2011-05-10T12:37:25.127 に答える
0

ありませんが、で表されるユニコードwchar_t(Windowsでは16ビット、他のほとんどのプラットフォームでは32ビット)と、wcstombs/を使用してシステムでロケール文字エンコードとして設定されているものとの間で変換するクロスプラットフォームの方法があります。mbstowcs標準Cライブラリまたは標準C++ライブラリcodecvtのファセットからのルーチン。各要素が1つのコードポイントである、とutf-8localeの間の変換は、非常に簡単です。wchar_tしたがって、どこかからルーチンを記述またはコピーして、utf-8とunicodeを変換し、 /wchar_tと組み合わせることができます。wcstombsmbstowcs

于 2011-05-10T12:57:07.233 に答える