web-dev-qa-db-ja.com

ファイル/グループ/レコード/ユニット区切り文字の制御文字とその使用法は何ですか?

Unicodeは、ASCIIからいくつかの制御文字を定義します。 http://www.unicode.org/charts/PDF/U0000.pdf

多くの制御文字が広く使用されているのはわかりますが、「情報区切り文字」がどこで使用されているのかは実際にはわかりません。 (U + 001C〜U + 001F)

それらは何ですか?それらの歴史は何ですか?彼らはどこで使用しましたか?

35
Eonil

Lammert Bies それらの使用法と背後にある歴史の両方を説明しています。

28 – FS –ファイルセパレーターファイルセパレーターFSは、60年代にコンピューター技術がどのように編成されたかについての洞察を与えてくれる興味深い制御コードです。 。RAMや磁気ディスクなどのランダムアクセスメディアに慣れていますが、ASCII規格が定義されたとき、ほとんどのデータはシリアルでした。私はシリアル通信についてだけでなく、パンチカード、紙テープ、磁気テープなどのシリアルストレージについても話します。このような状況では、2つのファイルの分離を通知する単一の制御コードを持つことが明らかに効率的です。FSこの目的のために定義されました。

29 – GS –グループセパレータデータストレージは、一部の制御コードがASCII定義に入る主な理由の1つでした。データベースは、ほとんどの場合、レコードを含むテーブルでセットアップされます。 1つのテーブルは同じタイプですが、異なるテーブルのレコードは異なる場合があります。グループセパレーターGSは、シリアルデータストレージシステムのテーブルを分離するように定義されています。Wordテーブルはその時点では使用されておらず、ASCII人々はそれをグループと呼びました。

30 – RS –レコードセパレータグループ(またはテーブル)内では、レコードはRSまたはレコードセパレータで区切られます。

31 – US –ユニットセパレータデータベースに格納される最小のデータ項目は、ASCII定義ではユニットと呼ばれます。ここではフィールドと呼びます。ユニットセパレータは、シリアルデータでこれらのフィールドを区切ります。ストレージ環境。現在のほとんどのデータベース実装では、ほとんどのタイプのフィールドの長さが固定されている必要があります。レコード内の十分なスペースは、ほとんどの場合必要ではない場合でも、各フィールドの可能な最大のメンバーを格納するために割り当てられます。これには多額の費用がかかります。米国の制御コードでは、すべてのフィールドを可変長にすることができます。60年代のようにデータストレージのスペースが限られている場合、これは貴重なスペースを保存するのに適した方法です。一方、シリアルストレージははるかに少ないです。テーブル駆動のRAMおよび現代のディスク実装よりも効率的です。紙のテープまたは磁気リールに保存されたデータを使用して最新のSQLデータベースが実行される状況は想像できません。.

ユニットセパレーターは、CSVファイルのコンマまたはタブ区切りファイルのタブと基本的に同じ目的を提供できます。

46
Jonas Elfström

あなたはそれらのほとんどが通常最近使われていないということですか?制御文字は主にデバイス制御機能に関連していますが、テキストファイルの区切り文字として使用されている場合もあります。クイックリファレンスについては、私の C0コントロールの表 を確認してください。

情報セパレーターは、簡単な方法でデータをグループ化するために使用されてきましたが、最近では、データの編成にバイナリ形式またはXML形式のいずれかが使用されています。 MicrosoftWordでU + 001EとU + 001Fを内部的に使用して、プログラム独自の「非ブレークハイフン」と「オプションのハイフン」(同様の目的のUnicode文字とは対照的)を実装するなど、依然として好奇心があります。これは主に、プログラムが制御文字を奇妙な方法で使用できることを示しています。もちろん、他のプログラムに送信されるテキストに文字が含まれていると問題が発生します。

7