UTF-32
UTF-32は、すべてのユニコード文字を固定長で表現する符号化方式です。1文字に一律で32ビット(4バイト)を割り当てるため、文字の位置を計算する際の処理が非常に単純になります。一方で、多くの文字が少ないバイト数で表現できるUTF-8やUTF-16に比べて、メモリ消費量やデータサイズが大幅に増加するという欠点があります。
他の符号化方式との比較
UTF-8:可変長方式であり、英数字は1バイトで表現されるため、ウェブ上のデータ転送に最適です。しかし、特定の文字が何バイト目にあるかを特定するには、先頭から順に走査する必要があります。
UTF-16:主に2バイト(一部4バイト)を使用する方式で、JavaやWindowsの内部処理で広く採用されています。UTF-32よりも効率的ですが、依然として可変長であるため、インデックス操作には注意が必要です。
UTF-32:完全な固定長であるため、配列のインデックスを指定するだけで任意の文字に直接アクセスできるという利点があります。
実用上の注意点
現代のコンピューティングにおいては、ストレージ効率と互換性の観点からUTF-8が主流となっており、UTF-32が直接的に使用される場面は限定的です。主に、メモリ効率よりも処理速度や実装の簡素化が優先される内部的な文字列処理や、特定のアルゴリズムを実装する場合にのみ選択されます。そのため、外部とのデータ交換にUTF-32を使用すると、受信側で正しく処理できない可能性が高いため注意してください。
意味
1文字あたり32ビット(4バイト)の固定幅を使用して、すべての可能なユニコードコードポイントを符号化できる文字符号化方式のこと
The system uses UTF-32 to simplify the indexing of characters in the string.
このシステムは、文字列内の文字のインデックス作成を簡素化するためにUTF-32を使用している。