0

プログラムの要件 (個々の文字への高速アクセス) により、私はuint32_t[]for character を使用しています。UTF-32コード単位ではなく、コード ポイントを格納するだけです。UTF-32コードユニットとUnicodeコードポイントは同じものだとは思わないので、それらを分離しておく必要があります.

コードポイントはnext32PostInc関数から取得されます

そして、これらのコードポイントを を使用して UTF-8 チャンクにエンコードする必要がありlibICUますが、文字レベルの累積エンコーダーを見つけるのは困難です。を使用する方法はわかりますUnicodeString::append()が、二重の変換が必要です。ucnv_convertfunctions は仕事をしているようですが、UTF-32 code unitsでのみです。そして、コードポイントでそれらを使用する場合、安全性について本当に確信が持てません。現在、私は機能の逆を探していnext32PostIncます。どうやってやるの?コードポイントとコード単位に関する私の考えがあれば、私を修正してください。

4

1 に答える 1