[13] [DFN[[[UTF-32]]]] は、 [[Unicode]] [[文字コード]]の一種でした。

* 符号化方式

[14] [[UTF-32]] は、 [[Unicode符号位置]]を[[8ビットバイト]] ([[オクテット]])
4つの列として表し、その連続によって[[文字列]]を表す[[符号化方式]]でした。

[17] [[Unicode符号位置]]は21ビットの[[整数]]で表すことができますが、
それを32ビットの[[整数]]とし、4[[バイト]]とします。

[15] [[文字列]]の先頭には、 [[BOM]] を置くことができました。

[16] 1つの[[符号位置]]を表す4つの[[オクテット]]の順序は、
[[実装依存]]です。
一般的に使われたのは最上位バイトから最下位バイトの順に並べる[[大エンディアン]]
([DFN[[[UTF-32BE]]]]) と最下位バイトから最上位バイトの順に並べる[[小エンディアン]]
([DFN[[[UTF-32LE]]]]) でしたが、ごく稀にそれ以外の順序もありました。

* UTF-32S

[2] [[UTF-8]] に対する [[CESU-8]] のように[[サロゲート]]をそのまま [[UCS-2]]
風に解釈して [[UTF-32]] に変換したものは [DFN[UTF-32S]]
と呼ばれることがあります。

* 他の符号化方式との関係

** UCS-4 との関係

[6] [[ISO/IEC 10646]] で規定される [[UCS-4]] は31ビット平面を32ビット固定長で[[符号化]]するもので、
00[[群]]00[[面]] ([[BMP]])〜00[[群]]10[[面]]までに割り当てられた[[文字]]の[[符号化]]は
[[UTF-32]] と一致します。 [[UCS-4]] ではその他の[[面]]も[[符号化]]できますが、
[[UTF-32]] (というより [[Unicode]]) では [CODE(char)[[[U+10FFFF]]]] より先が存在しません。

** 他の Unicode 符号化方式との関係

[5] [[UTF-32]] が[[符号化]]可能な範囲は、 [[Unicode]] によって規定される [[UTF-16]]
や [[UTF-8]] と同じです。

* 応用層との関係

** HTML における対応

[3] [[HTML5]] 仕様案では一時[[文書]]の[[文字符号化]]の[[探知]]算法などで [[UTF-32]]
に対応していましたが、実際に [[UTF-32]] は用いられていないことから、
該当部分の規定は削除されています。

[4] また、現在の [[HTML5]] 仕様案では[[文書]]が [[UTF-32]] を使用することを禁じると共に、
[[利用者エージェント]]が [[UTF-32]] に対応することも禁じています。

[7] [CITE[IRC logs: freenode / #whatwg / 20111206]]
( ([TIME[2011-12-06 21:54:13 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20111206>

[8] [CITE[IRC logs: freenode / #whatwg / 20121210]]
( ([TIME[2012-12-16 18:48:49 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121210>

** XML における対応

[10] [[XML MIME実体]]では [[UTF-32]] を使う[['''べきではない''']]
[SRC[>>9]] とされています。

[REFS[
- [9] [CITE@en[RFC 7303 - XML Media Types]] ([TIME[2014-07-07 20:56:43 +09:00]] 版) <http://tools.ietf.org/html/rfc7303#page-5>
]REFS]

;; [[XMLにおける文字コード]]の項も参照してください。

* 歴史


[19] 
[CITE@en[335531 - Correct misuse of "UTF-16BE", "UTF-16LE", "UTF-32BE", and "UTF-32LE" charset labels]], [TIME[2025-12-01T08:09:11.000Z]] <https://bugzilla.mozilla.org/show_bug.cgi?id=335531>


[11] [CITE[Issue 417850 - chromium - Remove UTF-32* support and related tests - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2014-10-18 03:05:39 +09:00]] 版))
<https://code.google.com/p/chromium/issues/detail?id=417850>

[12] [CITE@en[604317 – Remove support for UTF-32 per HTML5 spec.]]
( ([TIME[2014-10-18 03:05:58 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=604317>


[1]
[CITE[XML parsing, state machines and UTF-32 - O'Reilly XML Blog]] ([[Michael Day]] 著, [TIME[2007-03-08 21:05:13 +09:00]] 版) <http://www.oreillynet.com/xml/blog/2007/03/does_anyone_use_utf32_anyone_a.html>
([[名無しさん]] [WEAK[2007-03-08 12:18:35 +00:00]])


[18] [CITE[XLIFF Version 2.0]]
([TIME[2014-08-06 01:00:00 +09:00]])
<http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/xliff-core-v2.0-os.html#d0e15952>