制御文字列

control string (文字コード)

仕様書

意味

[1] 制御のための論理的な単位としてデータストリーム中に 現れるビット組合せの列。 control string。 (JIS X 0211-1994 4.2.25)

[5] データ列中に出現して、制御目的の論理実体となる。 See also 区切子制御文字

呼称

[9] JIS X 0211‐1994 の訳語:

[10] 情報系の他の分野では「列」は sequence の訳に当ててることが多く、 「制御列」はわかりにくい。

[11] 「string」は通例「文字列」と訳すが、ここでは control string の中に command string と character string があるという構造なので、 control string を「制御文字列」と訳すのもまた混乱を招く。

構文

  1. control-string = cmd-string / char-string
  2. cmd-string = cmd-opening-delimiter cmd-string terminating-delimiter
  3. char-string = char-opening-delimiter char-string terminating-delimiter
  4. cmd-opening-delimiter = APC / DCS / OCS / PM
  5. char-opening-delimter = SOS
  6. cmd-string = 1*( %x08-0D / %x20-7E )
  7. char-string = 1*<OCTET except SOS and ST>
  8. terminating-delimiter = ST

[6] char-stringSOS を除いてあるのは、制御ストリングは入れ子に出来ないってことでしょう。

Command string で %x08-0D が使えるってのは、 特定の C0 文字集合に依存してる気がしますがねぇ。この区間は ISO/IEC 6429//C0文字集合と解釈するのがいいんでしょうか?

あ、そもそも、 command string や character string の中身は制御ストリングの外側と同じように符号拡張法を使って 文字を表現するものなんですかね?

え? 制御ストリングを解釈する受信装置に依存ですか? うーむ。

%x0E-0F / %xA0-FE の扱いについては、 7ビット符号と8ビット符号参照。 char-string は任意のビット組合せが使えるらしいですが、 GR はこの方法で SO...SI にするとして、 CR はどうしたらいいんでしょう? ESC Fe ですか...?

[7] command string の方はビット組合せが限定された「命令」で、 引数は文字列というよりはビット組合せ列の性質が強いみたいです。 一方で character string の方は文字列になってます。

[8] command string の方が古くからあって後から SOS が追加されたみたいですが、 既存の ST を流用しようとして似た用法で少し意味の違う2つを統合してしまって、 説明がわかりにくくなってる気がします。

メモ

[12] VT

[2] Digital Ansi-Compliant Print Protocol Lev 2 Program. Ref. Man. - PPLV2PMB.PDF, , http://sup.xenya.si/sup/info/digital/MDS/jun99/Cd3/PRINTER/PPLV2PMB.PDF#page=57

#page=105

#page=123

[13] Control functions - akinomyoga/contra, , https://akinomyoga.github.io/contra/escseq.html

[14] DRCS