<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="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:">Unicode</anchor> のいくつかの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Unicode符号位置
</title></anchor>は、
<dfn><ruby>非文字<rt>ひもじ</rt><rt xml:lang="en">noncharacters</rt></ruby></dfn>とされています。</p><section><h1>仕様書</h1><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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch02.pdf</cite>, <time>2020-03-09T17:53:32.000Z</time>, <time>2020-12-20T08:35:03.323Z</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.unicode.org/versions/latest/ch02.pdf#G14527">https://www.unicode.org/versions/latest/ch02.pdf#G14527</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> 
<cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch03.pdf</cite>, <time>2020-03-09T17:53:34.000Z</time>, <time>2020-12-20T07:20:27.336Z</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.unicode.org/versions/latest/ch03.pdf#G22582">https://www.unicode.org/versions/latest/ch03.pdf#G22582</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch03.pdf</cite>, <time>2020-03-09T17:53:34.000Z</time>, <time>2020-12-20T02:08:18.239Z</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.unicode.org/versions/latest/ch03.pdf#G2212">https://www.unicode.org/versions/latest/ch03.pdf#G2212</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">The Unicode Standard</anchor>, Version 13.0 - ch23.pdf</cite>, <time>2020-03-09T17:53:52.000Z</time>, <time>2020-12-17T09:40:46.229Z</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.unicode.org/versions/latest/ch23.pdf#G12612">https://www.unicode.org/versions/latest/ch23.pdf#G12612</anchor-external></li></ul></refs></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> 
<dfn><ruby>非文字<rt>ひもじ</rt><rt>Noncharacter</rt></ruby></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号点型</anchor>の1つです。
<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="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal> D10a</src></p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>は、
内部用に恒久的に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">予約されている符号点<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">予約済符号点</title></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="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal> D14, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>
字義通り単に「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>ではない」という意味では<em>なく</em>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>という1つの独立した分類であって、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">noncharacter</anchor> と1語で表記します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</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:">抽象文字</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><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode符号位置</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>でないものがありますが、
それらは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>では<em xmlns="http://www.w3.org/1999/xhtml">ありません</em>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字</anchor>ではない絵や記号やその他のオブジェクトも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>ではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>は、
内部用に自由に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字符号点</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;75</anchor-internal> C2</src>
ただ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>のうち
<code>U+FFFE</code>
は想定用途が設定されています (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>)。
<code>U+FFFF</code>, <code>U+10FFFF</code>
にも利用例が示されています (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal>)。</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:">非文字</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>で出現したとしても、
<cite>The Unicode Standard</cite>
はそれに対して標準的な解釈は無い (意味を定義しない) としています。
<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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> 
<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>は (<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>であるのに対し、
<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>である点が違います。
<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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><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> </p><blockquote><dl><dt>C7</dt><dd>When a process purports not to modify the interpretation of a valid coded character
sequence, it shall make no change to that coded character sequence other than the possible
replacement of character sequences by their canonical-equivalent sequences or the
deletion of noncharacter code points.<ul><li><ins>(中略)</ins></li><li>If a noncharacter that does not have a specific internal use is unexpectedly
encountered in processing, an implementation may signal an error or delete or
ignore the noncharacter. If these options are not taken, the noncharacter
should be treated as an unassigned code point. For example, an API that
returned a character property value for a noncharacter would return the same
value as the default value for an unassigned code point.</li><li><ins>(後略)</ins></li></ul></dd></dl></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 5.0</anchor> 3.2 <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="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#page=10">http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#page=10</anchor-external> 抜粋</comment-p><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></p><blockquote><dl><dt>D15 Reserved code point</dt><dd>Any code point of the Unicode Standard that is reserved for
future assignment. Also known as an unassigned code point.<ul><li>Surrogate code points and noncharacters are considered assigned code points,
but not assigned characters.</li><li><ins>(後略)</ins></li></ul></dd></dl></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 5.0</anchor> 3.4 <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="http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#page=18">http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf#page=18</anchor-external></comment-p><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><p>These codes are intended for process-internal uses, but are not permitted for interchange.</p></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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="http://www.unicode.org/charts/PDF/Unicode-4.0/U40-FB50.pdf">http://www.unicode.org/charts/PDF/Unicode-4.0/U40-FB50.pdf</anchor-external>、
<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="http://www.unicode.org/charts/PDF/UFB50.pdf">http://www.unicode.org/charts/PDF/UFB50.pdf</anchor-external>「04-Apr-2008 09:52  342K」 (2009年2月現在)</comment-p></section><section><h1>符号点</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>は、66個あります。
<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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal> D14</src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> 16進下4桁が <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0xFFFE</n>, <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0xFFFF</n> の 2 × 17 = 34 個の<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="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <code>U+FDD0</code> - <code>U+FDEF</code> の32個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor></li></ul><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="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <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-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://chars.suikawiki.org/set/%24unicode%3ANoncharacter_Code_Point">https://chars.suikawiki.org/set/%24unicode%3ANoncharacter_Code_Point</anchor-external></li></ul></refs><section><h1>U+FDD0〜U+FDEF</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> 
<code>U+FDD0</code> - <code>U+FDEF</code>
の32個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">歴史的理由</anchor>により
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Arabic Presentation Forms-A</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>用でもなく、
他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><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:">仕様書</anchor>が、
「U+FDD0〜U+FD<em>E</em>F」
の32個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>ではなく、誤って
「U+FDD0〜U+FD<em>D</em>F」
の16個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>としていました。</p><p xmlns="http://www.w3.org/1999/xhtml"><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 5.1</anchor> の Code Chart PDF にすら、</p><blockquote xmlns="http://www.w3.org/1999/xhtml"><p>This block also contains 32 noncharacters in the range FDD0‐FDDF.</p></blockquote><p xmlns="http://www.w3.org/1999/xhtml">と間違った記述が含まれていました。</p><refs><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <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="http://www.unicode.org/charts/PDF/UFB50.pdf">http://www.unicode.org/charts/PDF/UFB50.pdf</anchor-external>,
「04-Apr-2008 09:52  342K」,
<time>平成21(2009)年2月<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2009-02</attrvalue></time>現在</li></ul></refs><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">
<anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 4.0</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PDF</anchor> <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="http://www.unicode.org/charts/PDF/Unicode-4.0/U40-FB50.pdf">http://www.unicode.org/charts/PDF/Unicode-4.0/U40-FB50.pdf</anchor-external>
には該当部分の記述がそもそもなかったみたいです。</comment-p><p xmlns="http://www.w3.org/1999/xhtml"><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:">XML</anchor> は、
<time>2007-08-15</time>の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.0 4e</anchor> E02、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1 2e</anchor> E02
でこの誤りを修正しました
<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="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;56</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;57</anchor-internal></src>。
この修正は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適合性</anchor>には影響しませんでした。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</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>XMLにおける文字</anchor> </sw-see></p><refs><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> 
<cite xml:lang="en">Errata in REC-xml-20060816</cite> (<time>2008-11-19 06:33:50 +09:00</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="http://www.w3.org/XML/xml-V10-4e-errata#E02">http://www.w3.org/XML/xml-V10-4e-errata#E02</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> 
<cite xml:lang="en">Errata in REC-xml11-20060816</cite> (<time>2008-01-19 03:24:55 +09:00</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="http://www.w3.org/XML/xml-V11-2e-errata#E02">http://www.w3.org/XML/xml-V11-2e-errata#E02</anchor-external></li></ul></refs><p xmlns="http://www.w3.org/1999/xhtml"><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:">HTML5</anchor> は、
<time>平成21(2009)年1月<attrvalue xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2009-01</attrvalue></time>の改訂 r2708
でこの誤りを修正しました
<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="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;48</anchor-internal></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML構文解析器</anchor>の挙動 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字参照</anchor>)
と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適合性</anchor>に影響しました。</p><refs><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <cite xml:lang="en">(X)HTML5 Tracking</cite> (<time>2009-02-22 09:57:31 +09:00</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="http://html5.org/tools/web-apps-tracker?from=2707&amp;to=2708&amp;context=10">http://html5.org/tools/web-apps-tracker?from=2707&amp;to=2708&amp;context=10</anchor-external><ul><li>移転確認 <time>2020-12-18T04:56:49.900Z</time></li><li><cite xml:lang="en"><strong>[</strong>c<strong>]</strong> (0) I missed a few <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">non-characters</anchor>. Not sure how I missed these. (…</cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Hixie</anchor>, <time>2009-01-24 14:07:17 +09:00</time>, <time>2020-12-18T04:56:31.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/whatwg/html/commit/62aba031954ecb4b3ad387d50acf7d457b13b9f6">https://github.com/whatwg/html/commit/62aba031954ecb4b3ad387d50acf7d457b13b9f6</anchor-external></li></ul></li></ul></refs></history><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Solstitium</anchor>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">bidi</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>書字方向</anchor> </sw-see></p></section><section><h1>U+FFFE</h1><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> 
<dfn><code>U+FFFE</code></dfn>
は、
<code>U+FEFF</code>
と対になる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>です。
<code>U+FEFF</code> <code class="charname" xml:lang="en">BOM</code>
を
<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:">大エンディアン</anchor>なら <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0xFEFF</n>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小エンディアン</anchor>なら <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0xFFFE</n>
となります。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>BOM</anchor> </sw-see>
従って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor>の先頭で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンディアン</anchor>の判定に利用でき、
<code>U+FFFE</code> として出現したなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンディアン</anchor>が間違っていることがわかります。
故に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>は、
<code>U+FFFE</code>
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンディアン</anchor>が逆であることを示す内部信号として予約する<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べき<rt xmlns="http://www.w3.org/1999/xhtml">should</rt></rubyb>です
<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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> 
実用を考えると、
この<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>の
<code class="charname" xml:lang="en">BOM</code>
と解釈されてしまう可能性があるわけですから、
とても安全とはいえません。
<code class="charname" xml:lang="en">BOM</code>
判定コードの条件分岐の記述以外の一切の用途に使うべきではなさそうです。</p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <cite>TeX dcr input (Input required for European Computer Roman Font for TeX)</cite>, <time>2025-06-16T10:36:17.000Z</time>, <time>2000-08-16T01:40:45.357Z</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://web.archive.org/web/20000816013913/http://www.kostis.net/charsets/tex-dcr.htm">https://web.archive.org/web/20000816013913/http://www.kostis.net/charsets/tex-dcr.htm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <cite>TeX dcr input (Input required for European Computer Roman Font for TeX)</cite>, <time>2025-06-16T10:36:31.000Z</time>, <time>2000-08-16T01:41:05.877Z</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://web.archive.org/web/20000816013919/http://www.kostis.net/charsets/tex-dcr.in.htm">https://web.archive.org/web/20000816013919/http://www.kostis.net/charsets/tex-dcr.in.htm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite>TeX dcr output (Output produced for European Computer Roman Font by TeX)</cite>, <time>2025-06-16T10:36:42.000Z</time>, <time>2000-08-16T01:41:17.772Z</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://web.archive.org/web/20000816013924/http://www.kostis.net/charsets/tex-dcr.out.htm">https://web.archive.org/web/20000816013924/http://www.kostis.net/charsets/tex-dcr.out.htm</anchor-external></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;80</anchor-internal> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;81</anchor-internal> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;82</anchor-internal> 当時の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> にない文字がなぜか <sw-cc xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+FFFE</sw-cc>
で表されています。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字の名前</anchor>も独自に付けられています。</p></section><section><h1>U+FFFF</h1><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> 
<dfn><code>U+FFFF</code></dfn>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">16ビット符号単位</anchor>の最大値 <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0xFFFF</n>
です。
また
<code>U+10FFFF</code>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode符号位置</anchor>の最大値 <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0x10FFFF</n>
です。
これを使って、
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">リスト</anchor>の終端を示したり、
他のどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p></section></section><section><h1>特性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">私用文字</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">特性値<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字特性</title></anchor>を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCD</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>私用文字</anchor> </sw-see>
一方<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="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 
<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:">特性値<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字特性</title></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>には影響しないはずです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> 
逆にそれが<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="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>の
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">General Category</anchor>
は
<code>Cn</code>
です
<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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></src>。
<code>Cn</code>
には他に<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>Cn</anchor> </sw-see></p></section><section><h1>安定性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> 
<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:">予約<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">予約済符号点</title></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="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal> D14</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> 
<cite>The Unicode Standard</cite>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>の意味を定めていません。
<cite>The Unicode Standard</cite>
は、
自身が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">情報交換</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> 
つまり既に<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> 
現在の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>は、過去の
<cite>The Unicode Standard</cite>
で段階的に追加されたものでした。
ここ数年新規追加はされておらず、
近い将来に追加されそうな見込みもありませんが、
今後どうなるかは不明です。</p></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</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:">Unicode符号位置</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="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 
<cite>The Unicode Standard</cite>
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode文字列</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:">API</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>」
で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>
つまり<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>表現のような狭い範囲に限定されていないということです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</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:">テキストデータ</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:"><rubyb>推奨<rt xmlns="http://www.w3.org/1999/xhtml">recommended</rt></rubyb>されていません<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Unicodeの推奨されない文字</title></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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>
公開の情報交換では使う<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきではありません<rt xmlns="http://www.w3.org/1999/xhtml">should not</rt></rubyb>
<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="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;75</anchor-internal> C2</src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> 
ところでこの開放型、非開放型という区別は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPC</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</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>内部でのみ使うような極めて限定的な用法以外は安全とはいえません。</p><hr></hr><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:">HTML</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>を含めては<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST>。
直接の記述も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字参照</anchor>としての記述もできません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><cite xmlns="http://www.w3.org/1999/xhtml">HTML Standard</cite></src></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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> では、 
<code>U+FFFE</code>、<code>U+FFFF</code> 
を<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>を含めることはできますが、 
仕様書の Note で<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>非推奨</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">discouraged</rt></rubyb>とされています。
<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="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;62</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;63</anchor-internal></src>
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>XMLにおける文字</anchor> </sw-see></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor>
では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>を扱うことができます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>
に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>を含めることもできます。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</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:">HTML文書</anchor>や<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:">不適合</anchor>になります。)</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="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> 
<cite xml:lang="EN">Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite> (<time>2008-11-21 21:41:46 +09:00</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="http://www.w3.org/TR/2008/REC-xml-20081126/#charsets">http://www.w3.org/TR/2008/REC-xml-20081126/#charsets</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> 
<cite xml:lang="en">Extensible Markup Language (XML) 1.1 (Second Edition)</cite> (<time>2006-09-30 04:02:09 +09:00</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="http://www.w3.org/TR/2006/REC-xml11-20060816/#charsets">http://www.w3.org/TR/2006/REC-xml11-20060816/#charsets</anchor-external></li></ul></refs></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <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="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> ただし<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>と解釈してはなりません。
<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="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;75</anchor-internal> C2</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> 
そして、
<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> 
<cite>The Unicode Standard</cite>
として、
<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>を受信した時に、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>をどう解釈しなければならないといった定めはありません。
しかし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>を
<code>U+FFFD</code>
に置き換えるなど適切な措置をとるの<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">よい慣習<rt xmlns="http://www.w3.org/1999/xhtml">good practice</rt></rubyb>とされます。
ただし削除するだけだと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティーの問題<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字のセキュリティー</title></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="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> とはいえ多くの実装は<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>として扱われたり、
<code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+FFFD</anchor></code> に置き換えられたりする他は、
普通の未割り当ての<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="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> 
<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>の意味がそれと一致している保証が無い限り、
<code>U+FFFD</code>
に置き換えるか受け入れを拒絶するなど適切な措置を採らないと、
誤動作してしまいます。
ときには<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー問題<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">文字のセキュリティー</title></anchor>となるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> 
<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>として扱うものがあります。
開発者が意図せずそのような挙動の<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:">DoS攻撃</anchor>に使うおそれがあります。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML構文解析器</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>とし、
<code>U+FFFD</code>
に置き換えなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><cite xmlns="http://www.w3.org/1999/xhtml">HTML Standard</cite></src>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字参照</anchor>も
<code>U+FFFD</code>
に置き換えられます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> 
従って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析</anchor>直後の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML DOM</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:">DOM</anchor> を操作して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>を挿入することはできます。
従って 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</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="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML構文解析器</anchor>は
<code>U+FFFE</code>,
<code>U+FFFF</code>
に遭遇したとき、
これを<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:">致死的エラーとして扱って<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Draconian error handling</title></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="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> 
正当な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が意図せずに、
または悪意ある攻撃者により、
データに
<code>U+FFFE</code>
や
<code>U+FFFF</code>
が混入させられ、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>である
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RSSフィード</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>を扱えないのです。)</p></section><section><h1>関連</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御文字</anchor>や <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+FEFF</anchor></code> <code class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ZWNBSP</anchor></code>
は<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><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> <code xmlns="http://www.w3.org/1999/xhtml" class="charname" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</anchor></code> は<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>でも、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>でもありません。
(<cite xmlns="http://www.w3.org/1999/xhtml">The Unicode Standard</cite> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>であるかのように扱っていますが。)</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicodeの符号空間</anchor> </p></section><section><h1>歴史</h1><section><h1><code>U+FDD0</code> - <code>U+FDEF</code></h1><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> 
<code>U+FDD0</code> - <code>U+FDEF</code>
の
32個の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.1</anchor> で<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="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en-us">UAX #27: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.1</anchor></cite> (<time>2002-07-25 06:19:39 +09:00</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="http://www.unicode.org/reports/tr27/tr27-4.html">http://www.unicode.org/reports/tr27/tr27-4.html</anchor-external></li></ul></section><section><h1>U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF, ..., U+FFFFE, U+FFFFF, U+10FFFE, U+10FFFF</h1><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 3.1</anchor> はこれら32<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.0</anchor> で既に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>であったとしていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.0</anchor> のどの部分でそのように規定されているのか確認できませんでした。</p><blockquote><p>There are 34 specific code points in Unicode 3.0 that are characterized as noncharacters.</p></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><cite xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">UAX #27: Unicode 3.1</cite> (<time xmlns="http://www.w3.org/1999/xhtml">2002-07-25 06:19:39 +09:00</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="http://www.unicode.org/reports/tr27/tr27-4.html">http://www.unicode.org/reports/tr27/tr27-4.html</anchor-external></comment-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> 
これら32<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非文字</anchor>として code charts にはじめて掲載されたのは
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.1</anchor> です。 <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(それ以前は<anchor>サロゲート</anchor>部分の code charts がありませんでした。)</weak></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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="http://www.unicode.org/reports/tr27/tr27-4.html#charts">http://www.unicode.org/reports/tr27/tr27-4.html#charts</anchor-external></comment-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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ML</anchor> の発言 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal>) によれば、これらが追加されたのは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>
の規定があったためであり、それが発見された時には既に遅かった、ということです。</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="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite>Unicode Mail List Archive: Re: plane business</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Asmus Freytag (asmusf@ix.netcom.com)</anchor> 著, <time>2001-10-02 04:25:46 +09:00</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="http://www.unicode.org/mail-arch/unicode-ml/y2001-m10/0014.html">http://www.unicode.org/mail-arch/unicode-ml/y2001-m10/0014.html</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>-1:2000 に対応する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0221</anchor>-1:2001 の 7. には、</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>の <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FFFE</anchor></code> 及び <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FFFF</anchor></code>
を使用してはならない。</p></blockquote><p>... とあります。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>-1:2000 は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode 3.0</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:">非文字</anchor>として扱わなければならなくなった根拠でしょう。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10646</anchor>-1:1993 から既にこの規定があったのかは未確認です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <code>FFFE</code> は <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:">BOM</anchor> における誤認を防ぐためと説明できます
(ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BOM</anchor> が導入されたのと <code>FFFE</code> が予約されたのでどちらが先かは不明)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <code>FFFF</code> が予約されている理由は不明です。</p></section><section><h1></h1><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> <cite>unicode - What's the purpose of the noncharacters U+FDD0 to U+FDEF? - Stack Overflow</cite>
( (<time>2012-05-14 23:12:14 +09:00</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="http://stackoverflow.com/questions/5188679/whats-the-purpose-of-the-noncharacters-ufdd0-to-ufdef">http://stackoverflow.com/questions/5188679/whats-the-purpose-of-the-noncharacters-ufdd0-to-ufdef</anchor-external></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> <cite xml:lang="en-us">Unicode Character Encoding Stability Policy</cite>
( (<time>2012-04-04 18:25:54 +09:00</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="http://unicode.org/policies/stability_policy.html#Property_Value">http://unicode.org/policies/stability_policy.html#Property_Value</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <cite xml:lang="en">Define control and noncharacter</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-04-03 15:24:58 +09:00</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/whatwg/infra/commit/ad1b87aecce01759096fcdbf6acc2bd6096c3168">https://github.com/whatwg/infra/commit/ad1b87aecce01759096fcdbf6acc2bd6096c3168</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite xml:lang="en">Editorial: use noncharacter and control from Infra</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-04-03 19:40:46 +09:00</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/whatwg/html/commit/70925237a88d9802bfe7224fe9c78b146af615be">https://github.com/whatwg/html/commit/70925237a88d9802bfe7224fe9c78b146af615be</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">Editorial: use noncharacter from Infra</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-03-29 21:48:11 +09:00</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/whatwg/url/commit/4a4c55959bec4f091373723bd0d507432d4b3dac">https://github.com/whatwg/url/commit/4a4c55959bec4f091373723bd0d507432d4b3dac</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <cite xml:lang="en">perlunicode - Unicode support in Perl - Perldoc Browser</cite>, <time>2022-11-13T12:34:50.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://perldoc.perl.org/perlunicode#Noncharacter-code-points">https://perldoc.perl.org/perlunicode#Noncharacter-code-points</anchor-external></p></section></section></body></html>