<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<dfn>UCS-4</dfn>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化文字集合</anchor>の正規の表現方法でした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 
4オクテット = 32ビット (ただしその内1ビットは未使用) で1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>を表す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定長</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>でした。</p><section><h1>当時の規定</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS</anchor> の群・面・区・点各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オクテット</anchor>をそのまま並べた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化方式</anchor>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 正式には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">4オクテット正規形</anchor> (4 octet canonical form) という。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 初期 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor> には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>の表現の方法として、正規の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor>
と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基本多言語面</anchor>のみ2バイトに短縮した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-2</anchor> の2種類がありました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
当時は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-2</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> が事実上同じものとされていました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor> だけの独自仕様でした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
その後 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> 側で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-2</anchor> が拡張されて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-16</anchor> となり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-16</anchor> に合わせて縮小したものが <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> となりました。
更にその後、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-16</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> が取り込まれ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-2</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> は消失しました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10646</anchor> が Unicode に乗っ取られた時に、ただ2つだけ残ったのが文字を4オクテットで表すという考え方 (すなわち UCS-4) と、「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BMP</anchor>」という名前であると言われています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 
前者もついに失われたのです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> UCS-4 は学習用の形式かよ。ひどい扱いだな。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0221</anchor>‐1:2001 5. より UCS-4 関係を抜粋:</p><blockquote><p>この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化文字集合</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規形式</anchor>
(規格を理解するための形式) は、128個の3次元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">群</anchor>からなる一つの4次元<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化空間</anchor>とみなすことができる。<dl><dt>備考</dt><dd>
したがって、正規形式の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最上位オクテット</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ビット</anchor> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8</n>
は、適合する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CCデータ要素</anchor>中でそれが <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n>
に設定されている限り、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor>内で内部処理に使うことができる。</dd></dl></p><p>それぞれの群は、256個の2次元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">面</anchor>からなる。
各面は、256個の1次元の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">区</anchor>からなり、
各区は256個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">点</anchor>からなる。この符号化空間の一つの点に一つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>を割り当て、
符号化するか、又は点を未使用と宣言している。</p><p>正規形式では、4オクテットで各文字を表現し、
これらのオクテットは、それぞれ群、面、区及び点を指定する。
2オクテットでは世界中のすべての文字を収容できないこと及び32ビット表現が現在の処理系の体系になじむことから、
正規形式の4オクテット構成を採用した。</p><p>4オクテット正規形式は、4オクテットの符号化文字集合として使用でき、
この場合に、 UCS-4 と呼ぶ。</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <q>6.2 文字の符号化</q>より抜粋:</p><blockquote><p>この符号化文字集合の正規形式では、符号化文字集合全体の中の各文字は、
4オクテットの列で表現する。この列の最上位オクテットは、
群オクテットとする。この列の最下位オクテットは、
点オクテットとする。したがって、この列は、
次のとおり表現できる。</p></blockquote><pre>最上位オクテット                           最下位オクテット
 群オクテット | 面オクテット | 区オクテット | 点オクテット</pre><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <q>6.3 オクテットの順序</q> より:</p><blockquote><p>文字を表現するオクテットの列及びその列の最上位端・最下位端は、 6.2 に示すとおりでなければならない。
オクテット列として<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">直列化</anchor>するときは、
上位のオクテットが下位のオクテットより先になければならない。
直列化しないときは、オクテットの順序は、
送受間の合意によって定めてよい [16.1 及び附属書 H (参考) 参照]。</p></blockquote><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end></p><blockquote><dl><dt>4オクテット正規形式</dt><dd>
この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規形式</anchor>は、この規格群のすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>をそれぞれ 
4 オクテットで表現して使用できるようにする。</dd></dl><p>4 オクテット正規形式に適合した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CCデータ要素</anchor>中では、
すべての文字は、 6.2 の規定に従って、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">群</anchor>オクテット、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">面</anchor>オクテット、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">区</anchor>オクテット及び<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">点</anchor>オクテットからなる
4オクテットで表現しなければならない。</p><p>備考 4オクテット正規形式を使った<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化図形文字</anchor>は、処理用として32ビットの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">整数型</anchor>で実装してもよい。 (JIS X 0221‐1:2001 13.1)</p></blockquote></section><section><h1>最上位ビット</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>mohta bit</anchor> </sw-see></p></section><section><h1><code class="charset" xml:lang="en">ISO-10646-UCS-4</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10647" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10647]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IANA charset</anchor> <dfn><code class="charset" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO-10646-UCS-4</anchor></code></dfn>
は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> を表す名前です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10648" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10648]</anchor-end> この名前は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化名</anchor>としても <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 仕様書で特に言及されています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XMLにおける文字コード</anchor>も参照してください。</comment-p></section><section><h1>エンディアン</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> は32ビット = 8<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>であり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大エンディアン</anchor> (<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4BE</anchor></dfn>) と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小エンディアン</anchor>
(<dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4LE</anchor></dfn>) があります。またその他の変則的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンディアン</anchor>も存在するようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end>
変則的<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンディアン</anchor>を表す名称として次のものが使われています。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1234" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1234]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大エンディアン</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1243" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1243]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1324" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1324]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1342" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1342]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1423" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1423]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1432" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1432]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2134]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2143]</anchor-end> <dfn><code>X-ISO-10646-UCS-4-2143</code></dfn></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2314" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2314]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2341" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2341]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2413" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2413]</anchor-end> <dfn><code>X-ISO-10646-UCS-4-2413</code></dfn></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2431" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2431]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3124]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3142]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3214" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3214]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3241" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3241]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3412" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3412]</anchor-end> <dfn><code>X-ISO-10646-UCS-4-3412</code></dfn></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3421" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3421]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4123]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4132]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4213" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4213]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4231" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4231]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4312" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4312]</anchor-end></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4321" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4321]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小エンディアン</anchor></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> 
第1バイトから第4バイトまでの配置順が名前に入っています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> 
こうしたものは変換ソフトウェアなどに実装されていることがありますが、
実用されたことがあるのかは不明です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 
<time>平成23(2011)年<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2011</attrvalue></time>まで <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gecko</anchor> が 2143 と 3412 の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>に対応していました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> 諸共削除されました。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
削除前は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Gecko</anchor> に組み込まれた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード自動判定</anchor>用<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UniversalCharDet</anchor>
でも実装されていました。
これを経由し、
各種<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラミング言語</anchor>に移植された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード自動判定</anchor>ライブラリー
(<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>UniversalCharDet</anchor> </sw-see>) が
<code>X-ISO-10646-UCS-4-3412</code>,
<code>X-ISO-10646-UCS-4-2143</code>
を実装していることがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 
関連:
<code>X-ISO-10646-UCS-4-21431</code>,
<code>X-ISO-10646-UCS-4-34121</code></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 
<cite xml:lang="en">Remove UTF-32 encoder and decoder. Bug 604317, r=emk · mozilla/gecko-dev@4587536 · GitHub</cite>, <time>2025-05-17T09:27:10.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mozilla/gecko-dev/commit/4587536cef9d04c442cfe534c41ccd35febc13f4">https://github.com/mozilla/gecko-dev/commit/4587536cef9d04c442cfe534c41ccd35febc13f4</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 
<cite xml:lang="EN">Extensible Markup Language (XML) 1.0 (Second Edition)</cite>, <time>2018-10-09T13:32:08.000Z</time>, <time>2025-11-07T09:37:34.796Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/TR/2000/REC-xml-20001006#sec-guessing-no-ext-info">https://www.w3.org/TR/2000/REC-xml-20001006#sec-guessing-no-ext-info</anchor-external></p><blockquote><table><tbody><tr><td><code>00 00 FE FF</code></td><td> 	UCS-4, big-endian machine (1234 order)</td></tr><tr><td><code>FF FE 00 00</code></td><td>	UCS-4, little-endian machine (4321 order)</td></tr><tr><td><code>00 00 FF FE</code></td><td> 	UCS-4, unusual octet order (2143)</td></tr><tr><td><code>FE FF 00 00</code></td><td> 	UCS-4, unusual octet order (3412)</td></tr></tbody></table></blockquote><blockquote><table><tbody><tr><td><code>00 00 00 3C</code></td></tr><tr><td><code>3C 00 00 00</code></td></tr><tr><td><code>00 00 3C 00</code></td></tr><tr><td><code>00 3C 00 00</code></td></tr></tbody></table><p>UCS-4 or other encoding with a 32-bit code unit and ASCII characters encoded as ASCII values, in respectively big-endian (1234), little-endian (4321) and two unusual byte orders (2143 and 3412). The encoding declaration must be read to determine which of UCS-4 or other supported 32-bit encodings applies.</p></blockquote></section><section><h1>他の符号化方式との関係</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> と実質的に同じですが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+10FFFF</anchor> までのみで、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U-00110000</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">以上</anchor>は表現できません。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U-7FFFFFFF</anchor>
まですべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>を表現できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor> が当初規定していた本来の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS-4</anchor> と同じ範囲のすべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>を表現できました。
現在の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-32</anchor> と同じ範囲に限定されています。</p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">wchar_t</anchor> で使われることがあります。</p></section><section><h1>メモ</h1></section></body></html>