<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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
<dfn>制御機能</dfn>は<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>の列です。</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="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> 
Standard ECMA-48
<cite>Control Functions for Coded Character Sets</cite>, 
Fifth Edition - June 1991,
Reprinted June 1998,
<time>2014-10-28T04:43:11.000Z</time>, <time>2020-10-07T08:09:41.942Z</time> </li></ul></refs><ul><li><ul><li><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-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.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=18">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=18</anchor-external></li><li><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> <csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">6.4 Formator functions and editor functions</csection>
<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.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=32">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=32</anchor-external></li><li><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> <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.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=91">http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf#page=91</anchor-external></li></ul></li></ul></section><section><h1>意味</h1><figure class="quote"><figcaption><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></figcaption><blockquote><p><b>4.2.24 Control function</b></p><p>An element of a character set that effects the recording, processing, transmission, or interpretation of
data, and that has a coded representation consisting of one or more bit combinations.</p></blockquote></figure><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></p><blockquote><dl><dt>制御機能 (control function)</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>, <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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0211</anchor>‐1994 4.2.23, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0202</anchor>:1998 4.10, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0201</anchor>:1997 3.4</src></dd></dl></blockquote><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></p><blockquote><dl><dt>制御機能 (control function)</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>をもつ動作。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 0221</anchor>‐1:2001 4.15)</dd></dl></blockquote><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> 
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>のように複数の<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="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:">C1制御文字</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CR領域</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="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:">制御文字</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="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:">制御機能</anchor>には、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">formator function</anchor>
と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">editor function</anchor>
があります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">editor function</anchor>
は
<code class="charname" xml:lang="en">FORMAT EFFECTOR ACTION MODE</code>
(<code class="charname" xml:lang="en">FEAM</code>)
に
sensitive
であるというのが違いです。
<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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></src></p><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> <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="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</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>を承けることがあります。</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> 
<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="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:">GL領域</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:">GL</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><example 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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> 例えば俗に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エスケープシーケンス</anchor>
<code class="charname" xml:lang="en">ESC</code> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/4</n> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">4/0</n>
を
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor>
で
<code class="charname" xml:lang="en">ESC</code> $ @
と書くことがありますが、
厳密には正しくありません。</p></example><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:">引数</anchor>の記述方法が違うということは、未知未対応の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御機能</anchor>が出現したとき、
適当に読み飛ばすことができず、解釈を誤る可能性があるということです。</p><example 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="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
例えば <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8/0</n> が1バイトの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>を取るとすると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GL</anchor> に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">94<sup xmlns="http://www.w3.org/1999/xhtml">2</sup>集合</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示</anchor>された状態で</p><p xmlns="http://www.w3.org/1999/xhtml"><n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8/0</n> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/1</n> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/2</n> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/3</n> ...</p><p xmlns="http://www.w3.org/1999/xhtml">のうち <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/1</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>の一部ではありません。
もしそのことを知らないと、
<n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/1</n> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2/2</n> 
で1文字だと誤認し、
以後すべて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字化け</anchor>するかもしれません。</p></example><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> 
<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>を <code>U+0000</code> ... <code>U+00FF</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>制御文字</anchor>, <anchor>ISO/IEC 10646におけるエスケープシーケンス</anchor> </sw-see></p><figure class="short list"><figcaption><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>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>で構成される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御機能</anchor></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エスケープシーケンス</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">単独シフト</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御シーケンス</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御列</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CEX</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GCC</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Videotex</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ARIBの文字コード</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">制御機能</anchor>各種</li></ul></figure></section><section><h1>メモ</h1></section></body></html>