1

UTF-16 BE <-> LEを変換したい場合、何を考慮する必要がありますか?それらを単純な2バイト整数配列として扱うことはできますか?または、いくつかの例外的なケースを処理するために、特別なUnicodeアルゴリズムに従う必要がありますか?

4

1 に答える 1

3

コードユニットをバイト順に並べ替えるだけで、2バイトを取得し、それらを交換して書き戻すことができます。考慮すべきことはこれだけです。

しかし、通常、あるエンコーディングでストリームを読み取り、別のエンコーディングで書き戻す簡単な方法があります。多くの場合、パフォーマンスの欠点はごくわずかです(特にUTF-16の場合)。したがって、コードを明確にするために、おそらくそのようなソリューションを選択する必要があります。ただし、入力エンコーディングを正確に知っているかどうかに関係なく、簡単な方法で機能するはずです。

于 2012-08-01T10:54:09.923 に答える