Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
UTF-16 BE <-> LEを変換したい場合、何を考慮する必要がありますか?それらを単純な2バイト整数配列として扱うことはできますか?または、いくつかの例外的なケースを処理するために、特別なUnicodeアルゴリズムに従う必要がありますか?
コードユニットをバイト順に並べ替えるだけで、2バイトを取得し、それらを交換して書き戻すことができます。考慮すべきことはこれだけです。
しかし、通常、あるエンコーディングでストリームを読み取り、別のエンコーディングで書き戻す簡単な方法があります。多くの場合、パフォーマンスの欠点はごくわずかです(特にUTF-16の場合)。したがって、コードを明確にするために、おそらくそのようなソリューションを選択する必要があります。ただし、入力エンコーディングを正確に知っているかどうかに関係なく、簡単な方法で機能するはずです。