これは、Unicodeの質問というよりもMBCSの質問です。各インスタンスがそのメンバーの1つとしてUnicode文字を保持する構造体のリストを返すAPIを作成する必要があります。これは.NETにあるので、UTF-16が欲しいと思うかもしれませんが、アジアの文字の場合は、2文字が必要です。Unicode文字を返すときのベストプラクティスは何ですか?
- 2つのUTF-16文字の配列を使用します-1番目の文字をテストして、サロゲートであるかどうかを確認します。カウントしますか?
- サロゲートの問題を無視し、呼び出し元に任せて、実際のグリフエンコーディングスパン構造体を把握しますか?
- 代わりに文字列を使用して、長さが1文字でも2文字でもかまいませんか?
- UTF-32を使用する
人々は通常UTF-8に対して何をしますか?個々の文字を処理することはなく、すべてが文字列に保持されていると思います(たとえば、文字列内の文字の検索は、実際にはサブ文字列を検索することによって行われます)。多分それは私の中のC++プログラマーですが、文字列はとても重いようです。
#3をやろうと思います。他の人は何をしましたか?