アスキー

アスキー
MIL-STD-188-100 (1972)の ASCII チャート
MIME / IANAUS-ASCII
エイリアスISO-IR-006, [ 1 ] ANSI_X3.4-1968, ANSI_X3.4-1986, ISO_646.irv:1991, ISO646-US, us, IBM367, cp367 [ 2 ]
言語主に英語マレー語ロトカスインターリングアIdo、およびX-SAMPAもサポートします
分類ISO/IEC 646シリーズ
拡張機能
先行ITA 2フィールドタ
後継者ISO/IEC 8859ISO/IEC 10646Unicode

ASCII ( / ˈ æ s k i / ASS -kee)、 [ 3 ]: 6 American Standard Code for Information Interchangeの略称で、95 個の(英語中心の)印字可能文字と 33 個制御文字、合計 128 個のコード ポイント文字エンコードUnicodeの最初の 128 個のコード ポイントは ASCII と同じです。

ASCIIは各コードポイントを0から127までの値として符号化し、7ビットの整数として格納できる。[ 4 ] 95個のコードポイントは印字可能で、数字0から9、小文字aからz、大文字AからZ、そして一般的に使用される句読点記号を含む。例えば、文字は105( 10進数i)で表わされる。また、ASCIIはテレタイプ機器に由来する33個の印字されない制御コードも規定しており、そのほとんどは今では廃止されている。[ 5 ]現在でも一般的に使用されている制御文字には、キャリッジリターン、ラインフィードタブなどがある。

ASCIIには分音記号付きの文字のコードポイントがないため、 résuméjalapeñoRenéといった用語や名前を直接サポートしていません。ただし、ハードウェアとソフトウェアのサポート状況によっては、文字をバックティック(`)またはチルダ(~) で上書きすることで、一部の分音記号をレンダリングできます。

インターネット番号割当機関(IANA)は、この文字エンコーディングをUS-ASCIIという名前で呼んでいます。[ 2 ]

ASCIIはIEEEのマイルストーンの一つである。[ 6 ]

歴史

ASCII は、以前の電信コードから部分的に開発された7ビットのテレプリンターコードの標準化です。

ASCII規格の作業は、1961年5月にIBMの技術者ボブ・ベマーが米国規格協会(ASA)(現在の米国規格協会、ANSI)のX3.2小委員会に提案を提出したことから始まりました。[ 7 ]規格の初版は1963年に発行され、[ 8 ]テレタイプモデル33の導入と同時期に発行されました。その後、1967年に大幅な改訂が行われ、[ 9 ] [ 10 ]、1986年までさらに数回の改訂が行われました。 [ 11 ]ボードットなどの初期の電信コードとは対照的に、ASCIIは照合(特にリストのアルファベット順ソート)の利便性を考慮して順序付けられ、テレプリンター以外のデバイス用の制御機能も追加されました。[ 11 ]

ASCII (1963)。同等のコントロールが存在する場合は、そのコントロールの図が表示され、存在しない場合は灰色のドットで表示されます。

ASCIIは、アメリカ規格協会(ASA)のX3委員会(X3委員会)の支援の下、そのX3.2(後にX3L2)小委員会、そしてさらにその小委員会のX3.2.4ワーキンググループ(現在のINCITS)によって開発されました。ASAは後にアメリカ合衆国規格協会(USASI)[ 3 ] :211 となり、最終的にはアメリカ国家規格協会(ANSI)となりました。

他の特殊文字と制御コードが埋め込まれて、ASCIIはASA X3.4-1963として公開されましたが、[ 8 ] [ 12 ] 28のコード位置は意味が割り当てられておらず、将来の標準化のために予約されており、1つの未割り当ての制御コードが残されました。[ 3 ]:66、245 当時、小文字のアルファベットよりも制御文字を増やすべきかどうかについて議論がありました。[ 3 ]:435 この優柔不断な態度は長くは続きませんでした。1963年5月、CCITTの新電信アルファベット作業部会は、小文字をスティック[ a ] [ 13 ] 6と7に割り当てることを提案し、[ 14 ]国際標準化機構TC 97 SC 2は、10月にその変更を標準案に組み込むことを投票で決定しました。[ 15 ] X3.2.4タスクグループは、1963年5月の会議でASCIIへの変更を承認しました。[ 16 ]小文字を[ a ] [ 13 ] 6 と 7 に配置すると、文字のビットパターンが大文字と 1 ビット異なり、大文字と小文字を区別しない文字のマッチングと、キーボードやプリンターの構造が簡素化されました。

X3委員会は他にも変更を加えました。括弧縦棒の文字が追加されました。[ 17 ]一部の制御文字の名前が変更され、SOMはSOHになりました。他の文字は移動または削除され、RUは削除されました。[ 3 ] : 247–248 ASCIIはその後、USAS X3.4-1967、[ 9 ] [ 18 ]、USAS X3.4-1968、[ 19 ] ANSI X3.4-1977、そして最終的にANSI X3.4-1986へと更新されました。[ 11 ] [ 20 ]

ネットワーク交換のためのASCII形式の使用は1969年に説明されました。[ 21 ]この文書は2015年に正式にインターネット標準に昇格されました。[ 22 ]

改訂

X3.15規格において、X3委員会はASCIIデータの伝送方法(最下位ビットを先頭とする)[ 3 ] : 249–253 [ 29 ]と、パンチ穴付きテープへの記録方法についても検討した。彼らは磁気テープ用の9トラック規格を提案し、パンチカードのいくつかのフォーマットへの対応を試みた。

設計上の考慮事項

ビット幅

X3.2 小委員会は、初期のテレプリンター符号化システムに基づいて ASCII を設計した。他の文字符号化と同様に、ASCII はデジタル ビット パターンと文字シンボル (つまり、書記素制御文字) との対応を指定する。これにより、デジタルデバイスは互いに通信し、書き言葉などの文字指向の情報を処理、格納、通信することができる。 ASCII が開発される前は、26 のアルファベット文字、10 の数字、11 ~ 25 の特殊グラフィック シンボルが符号化に使用されていた。これらすべて、および1932 年の国際電信電話諮問委員会(CCITT)の国際電信アルファベット No. 2 (ITA2) 規格、[ 30 ] [ 31 ] FIELDATA (1956)、および初期のEBCDIC (1963) と互換性のある制御文字を含めるには、ASCII には 64 を超えるコードが必要であった。

ITA2は、エミール・ボードが1870年に発明し、1874年に特許を取得した5ビットの電信コードであるボードコードに基づいていました。[ 31 ]

委員会は、 ITA2のようなシフト機能の可能性について議論しました。これにより、64以上のコードを6ビットコードで表現できるようになります。シフトコードでは、一部の文字コードが後続の文字コードの選択肢を決定します。これによりコンパクトな符号化が可能になりますが、シフトコードの送信エラーにより、通常、送信データの長い部分が判読不能になるため、データ伝送の信頼性は低くなります。標準化委員会はシフトを採用しないことを決定し、ASCIIでは少なくとも7ビットコードが必要となりました。[ 3 ]:215 §13.6、236 §4

委員会は8ビット符号を検討した。8ビット(オクテット)であれば、2つの4ビットパターンで2つの数字を2進化10進数で効率的に符号化できるためである。しかし、7ビットで十分な場合、すべてのデータ伝送で8ビットの送信が必要になる。委員会は、データ伝送に関連するコストを最小限に抑えるため、7ビット符号の使用を決定した。当時のミシン目付きテープは1つの位置に8ビットを記録できたため、必要に応じてエラーチェック用のパリティビットを追加することも可能であった。[ 3 ]:217 §c、236 §5 パリティチェックを使用しない8ビットマシン(ネイティブデータ型がオクテット)では、通常、8番目のビットを0に設定する。 [ 32 ]

内部組織

コード自体は、識別しやすいように、ほとんどの制御コードが一緒に、またすべてのグラフィック コードが一緒になるようにパターン化されました。最初の 2 つのいわゆるASCII スティック[ a ] [ 13 ] (32 の位置) は、制御文字用に予約されていました。[ 3 ] : 220, 236 8, 9) ソートを容易にするために「スペース」文字はグラフィックの前に置く必要があったため、16進数で 20 の位置になりました。[ 3 ] : 237 §10 同じ理由で、区切り文字としてよく使用される多くの特殊記号は数字の前に置かれました。委員会は、大文字の 64 文字アルファベットをサポートすることが重要であると判断しDEC SIXBITコード (1963)で行われたように、ASCII を使いやすい 64 文字のグラフィック コード セットに簡単に縮小できるようにパターン化することを選択しました[ 3 ] : 228, 237 §14 小文字やその他のグラフィックスのオプションを利用できるように、特殊コードと数字コードは文字の前に配置され、文字A は対応する英国規格の草案と一致するように16進数の41 番目の位置に配置されました。 [ 3 ] : 238 §18 数字 0 〜 9 には 011 がプレフィックスとして付きますが、残りの4 ビットは2 進数のそれぞれの値に対応しているため、2 進化 10 進数による変換は簡単です (たとえば、5 は 011 0101にエンコードされ、2 進数では 5 は0101になります)。

英数字以外の文字の多くは、タイプライターのシフト位置に対応するように配置されていました。重要な微妙な点は、これらが電気タイプライターではなく、機械式タイプライターに基づいていたことです。[ 33 ]機械式タイプライターは、シフトキーを備えた最初のタイプライターであるレミントン No. 2 (1878)によって設定された事実上の標準に準拠し、 のシフトされた値はでした。初期のタイプライターは01 を省略し、代わりにO (大文字のo ) とl (小文字のL ) を使用していましたが、 0 と 1 が一般的になるにつれて、と のペアが標準になりました。したがって、ASCII ではは 2 番目のスティックの[ a ] [ 13 ]位置 1 ~ 5 に配置され、隣接するスティックの数字 1 ~ 5 に対応します。[ a ] [ 13 ]ただし、 0に対応する場所がスペース文字で占められているため、括弧は90に対応できませんでした。これは、 6から(アンダースコア)を削除し、残りの文字をシフトすることで対応されました。これは、 89に括弧を配置する多くのヨーロッパのタイプライターに対応していました。タイプライターとのこの矛盾は、ビットペアキーボード、特にテレタイプモデル33につながり、従来の機械式タイプライターとは異なり、ASCIIに対応する左シフトレイアウトを採用しました。 23456789-"#$%_&'()1!0)!"#$%_

電気タイプライター、特にIBM Selectric (1961) は多少異なるレイアウトを使用していましたが、これはIBM PC (1981)、特にModel M (1984)以降、コンピューターの事実上の標準となっています。そのため、現代のキーボードの記号のシフト値は、それ以前のキーボードほど ASCII テーブルと密接には対応していません。 このペアも No. 2 に遡り、一部のキーボードで使用されていました (No. 2 を含むその他のキーボードでは、 (カンマ) または(ピリオド)はシフトしないため、シフト解除せずに大文字で使用できます)。 ただし、ASCII ではこのペア (No. 2 に遡る) を分割し、数学記号 (さまざまな規則、一般的に) を に再配置しました。 /?,< .>,.;:-* =+:* ;+ -=

当時一般的だったタイプライター文字の中には、特に が含まれていなかったものもあった½ ¼ ¢が、 は^ ` ~ 国際用および数学用として、単純な線文字(一般的な に加えて)< >と共に、分音記号として含まれていた。 @記号はヨーロッパ大陸では使用されておらず、委員会はフランス語版ではアクセント付きのÀに置き換えられると予想したため、 @は文字Aの直前の16数で40番目の位置に配置された。 [ 3 ] : 243 \ |/

データ伝送に不可欠と考えられていた制御コードは、メッセージ開始(SOM)、アドレス終了(EOA)、メッセージ終了(EOM)、伝送終了(EOT)、"who are you?"(WRU)、"are you?"(RU)、予約デバイス制御(DC0)、同期アイドル(SYNC)、および確認応答(ACK)でした。これらのコードは、ビットパターン間のハミング距離が最大になるように配置されました。[ 3 ]:243–245

文字順

ASCIIコード順はASCIIベティカル順とも呼ばれる。[ 34 ]データの照合は、「標準的な」アルファベット順(照合順序)ではなく、この順序で行われることがある。ASCII順における主な逸脱は以下の通りである。

  • 大文字はすべて小文字の前に来ます。たとえば、「Z」は「a」の前に来ます。
  • 数字と多くの句読点は文字の前に来る

中間命令は、ASCII 値を比較する前に大文字を小文字に変換します。

文字セット

アスキー(1977/1986)
0 1 2 3 4 5 6 7 8 9 B C D E F
0x ヌルSOHSTXETX終了時刻ENQ確認ベル BS  HT  LF  VT  FF  CR  それで  SI 
1倍 DLEDC1DC2DC3DC4ナクシンETBできる EM サブESC FS  GS  RS  私たち 
2倍  SP !#$%'*+-/
3倍 0123456789:;<>?
4倍 @BCDEFGHJKLM
5倍 P質問RSTあなたVWXはいZ[\]^_
6倍 `1つのbcdefグラムhjlメートルno
7倍 pqrstあなたv×yz{|}削除
  1963年版で変更または追加されたもの
  1963年版と1965年草案の両方で変更された

文字グループ

制御文字

32 個の制御文字、スペース、削除文字に割り当てられた初期の記号。( ISO 2047、 MIL-STD-188-100、1972)

ASCIIは、最初の32個のコードポイント(10進数で0~31)と最後の1個(10進数で127)を制御文字用に予約しています。これらは、周辺機器(プリンターなど)を制御したり、磁気テープなどに保存されているデータストリームに関するメタ情報を提供したりするためのコードです。その名前にもかかわらず、これらのコードポイントは印刷可能な文字を表すものではありません(つまり、文字ではなく信号です)。デバッグのために、これらのコードポイントには「プレースホルダー」シンボル(ISO 2047やその前身で使用されているものなど)が割り当てられています。

例えば、文字0x0Aは「改行」機能(プリンタの用紙送り)を表し、文字8は「バックスペース」を表します。RFC 2822では、復帰、改行、 空白を含まない制御文字を非空白制御文字と呼んでいます。[ 35 ]基本的な行指向の書式設定を規定する制御文字を除いて、ASCIIは文書内のテキストの構造や外観を記述するためのメカニズムを定義していません。マークアップ言語、アドレスページ、文書のレイアウトと書式設定 などの他のスキーム。

オリジナルのASCII規格では、各制御文字に短い説明フレーズのみが使用されていました。この曖昧さは、端末リンクとデータストリームで文字の使い方が若干異なるなど、意図的なものもあれば、例えば「削除」の意味が規格で明確にされていないなど、偶発的なものもありました。

これらの文字の解釈に最も影響を与えた単一のデバイスは、おそらくテレタイプ モデル 33 ASR でしょう。これは、紙テープリーダー/パンチ オプションを備えた印刷端末でした。紙テープは 1980 年代まで、磁気テープよりも安価で、いくつかの点で壊れにくいことから、長期プログラム保存用の非常に一般的な媒体でした。特に、テレタイプ モデル 33 のコード 17 (control-Q、DC1、XON とも呼ばれる)、19 (control-S、DC3、XOFF とも呼ばれる)、および 127 (削除)のマシン割り当ては、事実上の標準になりました。モデル 33 は、control-G (コード 7、BEL、操作者に音声で警告することを意味する) の説明を文字通りに受け止めていることでも有名で、ユニットには BEL 文字を受信すると鳴る実際のベルが含まれていました。 O キーのキートップにも左矢印記号 (アンダースコアの代わりにこの文字を持つ ASCII-1963 から) が表示されていたため、コード 15 (コントロール + O、シフトイン) の非準拠な使用法が「前の文字を削除」と解釈され、多くの初期のタイムシェアリング システムで採用されましたが、最終的には無視されるようになりました。

自動紙テープ読み取り装置を備えたテレタイプ33 ASRは、制御S(XOFF、送信オフの略)を受信するとテープ読み取りを停止し、制御Q(XON、送信オン)を受信するとテープ読み取りを再開しました。このいわゆるフロー制御技術は、バッファオーバーフローの兆候が見られるため送信側に送信を停止するよう警告する「ハンドシェイク」信号として、初期のコンピュータオペレーティングシステムのいくつかに採用されました。これは今日でも多くのシステムで手動出力制御技術として使用されています。一部のシステムでは、制御Sはそのままの意味を保持していますが、制御Qは出力を再開するための2番目の制御Sに置き換えられています。

33 ASRは、コントロールR(DC2)とコントロールT(DC4)を使用してテープパンチの開始と停止を行うように設定することもできます。この機能を備えた一部のユニットでは、キーキャップ上の対応する制御文字の文字はそれぞれTAPEとTAPEでした。[ 36 ]

削除とバックスペース

テレタイプはタイプヘッドを後方に移動できなかったため、キーボードにはBS(バックスペース)を送信するキーがありませんでした。代わりに、RUB OUTコード127(DEL)を送信するキーがありました。このキーの目的は、手入力された紙テープの誤りを消去することでした。オペレーターはテープパンチのボタンを押してテープを戻し、次に消去する文字を入力することで、すべての穴がパンチされ、誤りは無視される文字に置き換えられました。[ 37 ]テレタイプは、 Digital Equipment Corporation (DEC)の安価なコンピュータでよく使用されていました。これらのシステムは利用可能なキーを使用する必要があったため、DEL文字は前の文字を消去するキーに割り当てられていました。[ 38 ] [ 39 ]このため、DECのビデオ端末は(デフォルトで)「バックスペース」と表示されたキーに対してDEL文字を送信し、「Delete」と表示された別のキーに対してはエスケープシーケンスを送信していました。他の多くの競合端末は、バックスペースキーに対してBS文字を送信していました。

初期のUnix ttyドライバは、最近の実装とは異なり、標準的な入力処理(非常にシンプルな行エディタが利用可能な場合)において、前の文字を消去する文字として設定できるのは1つだけでした。これはBSまたはDELに設定できましたが、両方を設定することはできませんでした。その結果、ユーザーが使用している端末に応じて選択しなければならないという曖昧な状況が繰り返し発生しました(kshbashzshなどの行編集が可能なシェルはどちらも理解します)。どのキーもBS文字を送信しないという前提により、Ctrl+HはGNU Emacsの「help」プレフィックスコマンドなど、他の目的に使用できました。[ 40 ]

逃げる

制御文字の多くは、本来の意味とは全く異なる意味が割り当てられています。例えば、「エスケープ」文字(ESC、コード27)は、元々は他の制御文字を、その意味である「エスケープシーケンス」を呼び出すのではなく、リテラルとして送信できるようにするために設計されていました。これは、URLエンコーディング、C言語文字列、その他特定の文字が予約語として意味を持つシステムで使用されている「エスケープ」と同じ意味です。時を経てこの解釈は流用され、最終的には変更されました。

現代の用法では、端末に送信されるESCは通常、コマンドシーケンスの開始を示します。コマンドシーケンスは、カーソルのアドレス指定、領域のスクロール、端末の様々なプロパティの設定/照会などに使用できます。これらは通常、ECMA-48 (1972)およびその後継規格におけるいわゆる「 ANSIエスケープコード」(多くの場合、「制御シーケンスイントロデューサ」、「CSI」、「ESC [」で始まる)の形式をとります。「初期状態にリセット」、「RIS」コマンド「 ESC c 」のように、イントロデューサを持たないエスケープシーケンスもあります。[ 41 ]

対照的に、端末から読み取られるESCは、TECOviテキストエディタのように、操作や特殊モードを終了するための帯域外文字として最もよく使用されます。グラフィカルユーザーインターフェース(GUI)やウィンドウシステムでは、ESCは通常、アプリケーションに現在の操作を中止させるか、完全に終了(終了)させます。

行末

一部の制御文字を新たな意味に再適用したことで、「プレーンテキスト」ファイルをシステム間で転送する際に問題が発生しました。その最たる例は、様々なオペレーティングシステムにおける改行問題です。テレタイプ機では、テキスト行の終了は「キャリッジリターン」(プリントヘッドを行頭に移動)と「ラインフィード」(用紙を1行進める)で終了する必要がありました。「キャリッジリターン」という名称は、手動タイプライターにおいて、用紙を保持するキャリッジが移動する一方で、リボンを叩くタイプバーは静止していることに由来しています。用紙を次の行に移動させるには、キャリッジ全体を右に押し込む(「戻す」)必要があります。

DECオペレーティングシステム(OS/8RT-11RSX-11RSTSTOPS-10など)は、テレタイプマシンの必要に応じて、テキストファイルの各行末に両方の文字を保存していました。いわゆる「グラスTTY」(後にCRTまたは「ダム端末」と呼ばれるようになった)が導入されたときも、同じロジックに従い、同じCR文字とLF文字を期待していました。ゲイリー・キルドールがCP/Mを開発したとき、彼はDECのRT-11オペレーティングシステムで使用されていたコマンドラインインターフェースの慣習に触発されました。

1981年にIBM PC DOSが登場するまで、IBMはこの分野に影響力を持っていませんでした。1970年代のIBMのオペレーティングシステムはASCIIではなくEBCDICエンコーディングを採用し、パンチカード入力とラインプリンタ出力を主眼に置いていたため、「キャリッジリターン」の概念は意味をなさなかったからです。IBMのPC DOS(マイクロソフトはMS-DOSとしても販売していました)は、CP/Mを大まかにベースとしていたためCRLF規則を継承しており、[ 42 ] WindowsもMS-DOSからCRLF規則を継承しました。

プレーンテキスト文書またはデータストリームの各行末にCRとLFを配置することは、端末やプリンタがその情報を表示するために受信する必要のある文字を反映しています。Multics革新的な技術を導入しました。保存されたファイルやデータストリームの行末を1文字(LF)のみで表すというものです。[ 43 ] : 357 出力時にttyドライバがLFをCRLFに変換するため、ファイル形式を明示的に変換するコマンドを必要とせずに、ファイルを端末に出力できます。UnixおよびUnix系システムは、 Amigaシステムと同様に、この設計をMulticsから採用しました。UNIX文書では、行末記号を「改行」または「NL」と表現しています。一方、Radio Shack TRS-80Apple DOSApple ProDOS、および従来のMac OSでは、行末に単一のキャリッジリターン(CR)を使用していました。Appleの後継オペレーティングシステムであるMac OS X(現在はmacOSと呼ばれています)はUnixベースであるため、改行(LF)を使用しています。

ARPANETに接続されたコンピュータには、CR-LF改行コードを使用するTOPS-10やTENEXなどのオペレーティングシステム、LF改行コードを使用するMulticsなどのオペレーティングシステム、そして文字数とそれに続く行の文字数で行を表現し、ASCIIではなくEBCDICエンコードを使用するOS/360などのオペレーティングシステムが含まれていた。これらのシステム間の通信を可能にするため、 Telnetプロトコルは「ネットワーク仮想端末」(NVT)を定義した。NVTでは、単一のテキスト形式(CR-LF改行コードを持つASCII)が伝送に使用され、各システムはそれぞれのネイティブ表現との間で相互に変換を行った。[ 44 ]

ファイル転送プロトコルは、コマンドの送信とテキストファイルの転送(「ASCIIモード」として知られる)のために、ネットワーク仮想端末を含むTelnetプロトコルを採用しました。[ 45 ] [ 46 ] インターネット電子メールはNVT上に構築されています。[ 47 ] ワールドワイドウェブのHTTPは修正されたNVTを使用しています。この標準では、CRとLF文字のみが許可されていますが、それぞれがNVT CRLFとして解釈される必要があります。[ 48 ]

一部のバージョン管理システムなど、NVTメカニズムに従わないネットワーク対応システムでは複雑さが生じました。[ 49 ]バグによってシステムのネイティブ実装がインターネット上の他のシステムに公開され、データ破損を引き起こすことがあります。[ 50 ]

ファイル/ストリームの終わり

PDP-6 モニター[ 38 ]とその後継機である PDP-10 TOPS-10 [ 39 ]は、端末からの入力に対するファイル終了表示として、control-Z (SUB) を使用していました。CP/M などの一部のオペレーティングシステムでは、ファイルの長さをディスクブロック単位でのみ追跡し、ファイル内の実際のテキストの終了を示すために control-Z を使用していました。[ 51 ]これらの理由から、EOF、つまりファイルの終わりは、SUBstitute ではなく、control-Z の3 文字の頭字語として口語的に慣例的に使用されていました。テキスト終了文字 ( ETX )、別名control-C はさまざまな理由で不適切でしたが、ファイルの終了を示す制御文字として control-Z を使用することは、アルファベットの末尾の文字 Z の位置に類似しており、非常に便利なニーモニック補助として機能します。歴史的に一般的で現在でも広く普及している慣例に、ETX 文字規則を使用して、通常はキーボードからの入力データ ストリームを介してプログラムを中断および停止するというものがあります。

Unix ターミナル ドライバは、データ ストリームの終了を示すために、制御 D とも呼ばれる 転送終了文字 ( EOT ) を使用します。

C プログラミング言語および Unix 規則では、ヌル文字はテキスト文字列を終了するために使用されます。このようなヌル終了文字列は、ASCIZ または ASCIIZ という略語で表されます。ここで、Z は「ゼロ」を表します。

コード表

制御コード表

バイナリ10月12月ヘックス略語Unicode制御画像[ b ]キャレット表記[ c ]Cエスケープシーケンス[ d ]名前(1967年)
196319651967
000 0000000000 ヌルヌル^@\0 [ e ]ヌル
000 0001001101 ソムSOH^A見出しの開始
000 0010002202 EOASTX^Bテキストの開始
000 0011003303 終了ETX^Cテキストの終わり
000 0100004404 終了時刻^D送信終了
000 0101005505 WRUENQ^E問い合わせ
000 0110006606 ロシア確認^F了承
000 0111007707 ベルベル^G\aベル(警報)
000 1000010808 FE0BS^H\bバックスペース[ f ] [ g ]
000 1001011909 HT/SKHT^私\t水平タブ[ h ]
000 1010012100A LF^J\n改行
000 1011013110B VTABVT^K\v垂直タブ
000 1100014120℃ FF^L\fフォームフィード
000 1101015130D CR^M\rキャリッジリターン[ i ]
000 1110016140E それで^Nシフトアウト
000 1111017150F SI^Oシフトイン
001 00000201610 DC0DLE^Pデータリンクエスケープ
001 00010211711 DC1^Qデバイス制御 1 (多くの場合XON )
001 00100221812 DC2^Rデバイスコントロール2
001 00110231913 DC3^Sデバイスコントロール3(多くの場合XOFF
001 01000242014 DC4^Tデバイスコントロール4
001 01010252115 エラーナク^U否定的な承認
001 01100262216 同期シン^V同期アイドル
001 01110272317 レムETB^西送信ブロックの終了
001 10000302418 S0できる^Xキャンセル
001 10010312519 S1EM^はい媒体の終わり
001 1010032261A シーズン2SSサブ^Z代わりの
001 1011033271B S3ESC^[\e [ j ]脱出[ k ]
001 1100034281C S4FS^\ファイルセパレーター
001 1101035291D シーズン5GS^]グループセパレーター
001 1110036301E シーズン6RS^^ [ l ]レコードセパレータ
001 1111037311階 S7私たち^_単位区切り
111 11111771277階 削除^?削除[ m ] [ g ]

専門的な機器では、ISO 2047グラフィックスや16 進数などの他の表現が使用される場合があります。

印刷可能な文字表

採用当時、20 16進数から7E 16進数のコードは可視文字(グリフ)の印刷を指示するため、「印刷可能文字」と呼ばれていました。これらのコードは、文字、数字、句読点、そしてその他の記号を表します。印刷可能文字は合計95文字あります。[ n ]

キーボードのスペースキーによって生成される単語間の空白は、文字コード20 (16進数)です。スペース文字は印刷されたテキストに表示されるため、目に見えるグリフを持たないという点で独特ですが、「印刷可能文字」と見なされます。ASCII標準に従って、制御文字テーブルではなく、印刷可能文字テーブルに登録されています。[ 3 ] : 223 [ 21 ]

コード 7F 16 進数は、印刷できない「削除」(DEL) 制御文字に対応し、制御文字テーブルにリストされています。

ASCIIの初期のバージョンでは、キャレットの代わりに上矢印(16進数5E )、アンダースコアの代わりに左矢印(16進数5F )が使用されていました。[ 8 ] [ 52 ]

バイナリ10月12月ヘックスグリフ
196319651967
010 00000403220 スペース(グリフは表示されない)
010 00010413321!
010 00100423422
010 00110433523#
010 01000443624$
010 01010453725%
010 01100463826
010 01110473927'
010 10000504028
010 10010514129
010 1010052422A*
010 1011053432B+
010 1100054442C
010 1101055452D-
010 1110056462E
010 1111057472階/
011 000006048300
011 000106149311
011 001006250322
011 001106351333
011 010006452344
011 010106553355
011 011006654366
011 011106755377
011 100007056388
011 100107157399
011 1010072583A:
011 1011073593B;
011 1100074603C<
011 1101075613D
011 1110076623E>
011 1111077633階?
10万1006440@`@
100 00011016541
100 00101026642B
100 00111036743C
100 01001046844D
100 01011056945E
100 01101067046F
100 01111077147G
100 10001107248H
100 10011117349
100 1010112744AJ
100 1011113754BK
100 1100114764CL
100 1101115774DM
100 1110116784E
100 1111117794階
101 00001208050P
101 00011218151質問
101 00101228252R
101 00111238353S
101 01001248454T
101 01011258555あなた
101 01101268656V
101 01111278757W
101 10001308858X
101 10011318959はい
101 1010132905AZ
101 1011133915B[
101 1100134925C\\
101 1101135935D]
101 1110136945E^
101 1111137955階_
110 00001409660@`
110 000114197611つの
110 00101429862b
110 00111439963c
110 010014410064d
110 010114510165e
110 011014610266f
110 011114710367グラム
110 100015010468h
110 100115110569
110 10101521066Aj
110 10111531076B
110 11001541086Cl
110 11011551096Dメートル
110 11101561106En
110 11111571116階o
111 000016011270p
111 000116111371q
111 001016211472r
111 001116311573s
111 010016411674t
111 010116511775あなた
111 011016611876v
111 011116711977
111 100017012078×
111 100117112179y
111 10101721227Az
111 10111731237B{
111 11001741247C確認¬|
111 11011751257D}
111 11101761267EESC|

使用法

ASCIIは1963年、アメリカ電信電話会社TWX(TeletypeWriter eXchange)ネットワーク用の7ビットのテレタイプライターコードとして初めて商用利用されました。TWXは当初、競合会社のテレックス・テレタイプライターシステムでも使用されていた5ビットのITA2を採用していました。ボブ・ベマーはエスケープシーケンスなどの機能を導入しました。[ 7 ]彼のイギリス人の同僚であるヒュー・マクレガー・ロスはこの研究の普及に貢献しました。ベマーによれば、「ASCIIとなるコードはヨーロッパで初めてベマー・ロスコードと呼ばれたほどでした」[ 53 ] 。ASCIIに関する広範な研究から、ベマーは「ASCIIの父」と呼ばれています。[ 54 ]

1968年3月11日、リンドン・B・ジョンソン大統領は、米国連邦政府が購入するすべてのコンピュータがASCIIをサポートすることを義務付け、次のように述べた。[ 55 ] [ 56 ] [ 57 ]

私はまた、商務長官[ルーサー・H・ホッジス]による、磁気テープおよび紙テープをコンピュータ操作に使用する際に、情報交換用標準コードを記録するための規格に関する勧告を承認しました。1969年7月1日以降に連邦政府の在庫に持ち込まれるすべてのコンピュータおよび関連機器は、これらの媒体を使用する際に、情報交換用標準コードおよび磁気テープおよび紙テープ規格で規定されたフォーマットを使用できる必要があります。

ASCIIは2007年12月までワールドワイドウェブ上で最も一般的な文字エンコーディングであったが、UTF-8エンコーディングがそれを上回った。UTF-8はASCIIと下位互換性がある。 [ 58 ] [ 59 ] [ 60 ]

変種と派生

コンピュータ技術が世界中に普及するにつれ、様々な標準化団体や企業が、ローマ字ベースのアルファベットを使用する英語以外の言語の表現を容易にするために、ASCIIの様々なバリエーションを開発しました。これらのバリエーションのいくつかは「ASCII拡張」に分類できますが、7ビット範囲のASCIIの文字マップを保持しないものも含め、すべてのバリエーションを指すためにこの用語を誤用する人もいます。さらに、ASCII拡張はASCIIと誤って分類されることもありました。

7ビットコード

開発当初から、[ 61 ] ASCIIは国際的な文字コード標準のいくつかの国別バリエーションの1つに過ぎないことが意図されていました。

他の国際標準化団体も、ISO 646 (1967)などの文字エンコーディングを批准しています。これらの文字エンコーディングはASCIIと同一またはほぼ同一ですが、英語アルファベット以外の文字や、コードページ1104に見られる英国ポンド(£)の記号など、米国以外で使用される記号のための拡張機能を備えています。ASCIIは米国とその他の少数の国のニーズにしか対応していなかったため、ほぼすべての国でASCIIの適応版が必要でした。例えば、カナダにはフランス語の文字をサポートする独自のバージョンがありました。

他の多くの国では、英語以外の文字 (例: éñߣ ) や通貨記号 (例: £¥ ) などを含めるために ASCII のバリエーションを開発しました。YUSCII (ユーゴスラビア) も参照してください

この規格では、ほとんどの文字は共通化されていたものの、その他の地域的に有用な文字は「国別使用」のために留保されたいくつかのコードポイントに割り当てられていました。しかし、ASCII-1963の発行から1967年にISOが初めて国際勧告を承認するまでの4年間[ 62 ]、ASCIIが国別使用文字として選択した文字が世界の事実上の標準であるかのように思われ、他国がこれらのコードポイントに独自の割り当てを始めると、混乱と非互換性が生じました。

ISO/IEC 646は、ASCIIと同様に7ビットの文字セットです。追加のコードは提供されていないため、同じコードポイントでも国によって異なる文字がエンコードされます。エスケープコードは、テキストに適用される国別バリアントを示すために定義されていましたが、ほとんど使用されなかったため、どのバリアントを処理すればよいのか、ひいてはコードがどの文字を表しているのかを理解できないことがよくありました。また、一般的にテキスト処理システムは1つのバリアントしか処理できませんでした。

ASCIIの括弧と中括弧の文字は、ISO/IEC 646の他の国別バージョンでアクセント付き文字に使用される「国別使用」コードポイントに割り当てられていたため、ASCIIではなくISO/IEC 646の国別バージョンを使用するドイツ、フランス、スウェーデンなどのプログラマーは、次のようなコードを書き、読み取らなければなりませんでした。

ä aÄiÜ = 'Ön'; ü

の代わりに

{ a[i] = '\n'; }

CトライグラフはANSI Cのこの問題を解決するために作成されましたが、導入が遅れたこととコンパイラにおける実装の一貫性のなさから、その使用は限られていました。多くのプログラマはコンピュータをASCIIコードで使用していたため、スウェーデン語、ドイツ語などのプレーンテキスト(電子メールやUsenetなど)には単語の途中に「{, }」などの変形文字が含まれていました。これらのプログラマはそれに慣れていました。例えば、スウェーデン人のプログラマが別のプログラマに昼食に行こうかとメールで尋ねると、「N{jag har sm|rg}sar」という返事が返ってくる可能性がありますが、これは「いいえ、サンドイッチがあります」という意味の「Nä jag har smörgåsar」であるべきでした。

日本と韓国では、2020年代現在でも、ASCIIのバリエーションが使用されており、バックスラッシュ(16進数5C)は ¥ (日本では円記号)または ₩ (韓国ではウォン記号)として表示されます。つまり、例えばファイルパス「C:\Users\Smith」は、C:\Users\Smith(日本)またはC:\₩Users\Smith(韓国)と表示されます。

ヨーロッパでは、ASCIIの変種であるテレテキスト文字セットが放送テレビの字幕に使用されており、世界システムテレテキストで定義され、DVB送信にテレテキストを埋め込むためのDVB-TXT標準を使用して放送されています。[ 63 ]字幕が最初にテレテキスト用に作成され、変換された場合、派生した字幕フォーマットは同じ文字セットに制限されます。

8ビットコード

最終的に、8 ビット、16 ビット32 ビット(後に64 ビット)のコンピュータが12 ビット18 ビット36 ビットのコンピュータに取って代わり、標準として普及し始めると、各文字をメモリに格納するために 8 ビットバイトを使用するのが一般的になり、ASCII の拡張された 8 ビットの類似文字が生まれるようになりました。ほとんどの場合、これらは ASCII の真の拡張として開発され、元の文字マッピングはそのままに、最初の 128 文字(つまり 7 ビット)の後に追加の文字定義が追加されました。ASCII 自体は 7 ビットコードのままであり、「拡張 ASCII」という用語は公式なものではありません。

一部の国では、現地の言語で使用される文字のサポートを含む ASCII の 8 ビット拡張が開発されました (たとえば、インドではISCII 、ベトナムではVISCII )。

初期の家庭用コンピュータシステムのメーカーは、追加言語をサポートするために多くの文字を追加する必要がなかった市場であっても、ボックス描画文字セミグラフィックスビデオゲームのスプライトなどの追加文字を含めるために、独自の8ビットASCII拡張を開発することが多かった。これらの追加により、制御文字(インデックス0から31、およびインデックス127)が、さらにプラットフォーム固有の拡張機能に置き換えられることも多かった。また、余分なビットが反転表示の切り替えなどの他の目的に使用されることもあり、このアプローチはAtariによって開発されたASCIIの拡張であるATASCIIで採用された。

ほとんどのASCII拡張はASCII-1967(現在の標準)に基づいていますが、一部の拡張は以前のASCII-1963に基づいています。例えば、コモドール・インターナショナルが自社の8ビットシステム用に開発したPETSCIIは、ASCII-1963に基づいています。同様に、シャープのMZ文字セットの多くはASCII-1963に基づいています。

IBMはIBM PC用にコードページ437を定義し、制御文字をスマイリーフェイスなどのグラフィックシンボルに置き換え、追加のグラフィック文字を上位128桁にマッピングしました。[ 64 ] Digital Equipment Corporationは、ブロックグラフィックよりも国際言語向けに設計された最初の拡張機能の1つとして、人気のVT220端末で使用するために多国籍文字セット(DEC-MCS)を開発しました。AppleMacintosh用にMac OS Romanを定義し、 AdobeはPostScript用にPostScript標準エンコーディングを定義しました。どちらのセットにも、グラフィックではなく、現代の文字セットに近い「国際的な」文字、印刷記号、句読点が含まれていました。

ISO /IEC 8859規格(DEC-MCSから派生)は、ほとんどのシステムが模倣した(あるいは、完全に模倣されていなくても、少なくともそれに基づいていた)規格を提供した。Microsoftによって設計された人気の高い拡張規格であるWindows-1252(しばしばISO-8859-1と誤記される)は、従来のテキスト印刷に必要な印刷用句読点を追加した。ISO-8859-1、Windows-1252、そしてオリジナルの7ビットASCIIは、2008年にUTF-8に取って代わられるまで、ワールドワイドウェブ上で最も一般的な文字エンコード方式であった。[ 59 ]

ISO/IEC 4873では、 7ビットASCIIエンコードを8ビットシステムに拡張する一環として、 80~9Fの16進数範囲で定義された32の追加制御コードが導入されました。 [ 65 ]

ユニコード

UnicodeとISO/IEC 10646ユニバーサル文字セット(UCS)は、はるかに幅広い文字群をサポートしており、その多様なエンコード形式は、多くの環境でISO/IEC 8859やASCIIに急速に取って代わり始めています。ASCIIは128文字に制限されていますが、UnicodeとUCSは、一意の識別(コードポイントと呼ばれる自然数を使用)とエンコード(それぞれUTF-8UTF- 16、UTF - 32と呼ばれる8ビット、16ビット、または32ビットのバイナリ形式へのエンコード)の概念を分離することで、より多くの文字をサポートします。

ASCIIは最初の128文字としてUnicode(1991)文字セットに組み込まれたため、7ビットASCII文字は両方のセットで同じ数値コードを持ちます。これにより、UTF-8は7ビットASCIIと下位互換性があります。ASCII文字のみを含むUTF-8ファイルは、同じ文字列を含むASCIIファイルと同一です。さらに重要なのは、 7ビットASCII文字のみを特殊文字として認識し、最上位ビットがセットされたバイトを変更しないソフトウェア(ISO-8859-1などの8ビットASCII拡張をサポートするためによく行われるように)は、UTF-8データを変更せずに保持するため、上位互換性が保証されることです。[ 66 ]

参照

注記

  1. ^ a b c d e7ビットASCII文字セットの128文字は、0~7のスティックと呼ばれる8つの16文字グループに分かれており、最上位3ビットに関連付けられています。[ 13 ]文字マップの水平または垂直の表現に応じて、スティックは表の行または列に対応します。
  2. ^「制御文字」領域のUnicode文字U+2400からU+2421は、本来の機能を果たすのではなく、印刷または表示する必要がある場合に制御文字を表すために予約されています。一部のブラウザでは正しく表示されない場合があります。
  3. ^キャレット表記は、端末上で制御文字を表すためによく使用されます。ほとんどのテキスト端末では、キーを押しながら2番目の文字を入力すると制御文字が入力されます。Shiftキーが不要な場合もあり、例えばCtrl+2またはCtrl+Spaceだけで入力できる場合もあります。Ctrl^@
  4. ^ C プログラミング言語およびJavaPerlなど、C プログラミング言語の影響を受ける他の多くの言語における文字エスケープ シーケンス(ただし、すべての実装が必ずしもすべてのエスケープ シーケンスをサポートするわけではありません)。
  5. ^ 8進数値をエスケープすることで、任意のシングルバイト文字の入力がサポートされます。ただし、 C言語の文字列におけるNULLの役割のため、この場合は特別な使用法を参照してください。
  6. ^一部のシステムでは、キーを押してバックスペース文字を入力することもできます← Backspace
  7. ^ a bバックスペースの曖昧さは、初期の端末が、キーボードの主な用途がコンピュータに接続されていない状態で紙テープを手動で穴あけすることであると想定して設計されていたことに起因しています。前の文字を削除するには、紙テープパンチを後退させる必要がありました。これは、機械的および簡便な理由から、キーボードではなくパンチ本体のボタンに搭載されていました。そのため、タイプライターのバックスペースと同じ位置に、消しゴムキーを配置しました。システムがこれらの端末を使用し、コマンドライン編集機能を提供する場合、バックスペースを実行するには「消しゴム」コードを使用する必要があり、バックスペース文字を解釈しないことがよくありました(バックスペースとして「^H」をエコーするなど)。紙テープ用に設計されていない他の端末では、この位置のキーでバックスペースが実行され、それらの端末用に設計されたシステムでは、その文字を使用して後退していました。削除コードはバックスペース効果を生成することが多かったため、端末メーカーはどのキーでも削除文字以外の文字を入力できるようにせざるを得ませんでした。Delete
  8. ^ほとんどのシステムでは、キーを押して Tab 文字を入力することもできますTab ↹
  9. ^ほとんどのシステムでは、またはを押してキャリッジリターン文字を入力することもできます↵ EnterReturn
  10. ^ \eエスケープシーケンスは、 ISO Cや他の多くの言語仕様には含まれていません。ただし、 GCCを含むいくつかのコンパイラでは認識されます。
  11. ^一部のシステムでは、キーを押してエスケープ文字を入力することもできますEsc
  12. ^ ^^ は+(「Ctrl」キーとキャレットキーを押す) を意味します。Ctrl^
  13. ^一部のシステムでは、キーを押してDelete 文字を入力できる場合があります← Backspace
  14. ^印刷すると、文字は次のようになります。
     !"#$%&'()*+,-./0123456789:;<=>?​@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_​`abcdefghijklmnopqrstuvwxyz{|}~

参考文献

  1. ^ ANSI (1975-12-01)。ISO-IR-6: ASCII グラフィック文字セット(PDF)。 ITSC​​J/情報処理学会
  2. ^ a b「文字セット」 . Internet Assigned Numbers Authority (IANA) . 2007年5月14日. 2019年8月25日閲覧
  3. ^ a b c d e f g h i j k l m n o p q r s Mackenzie, Charles E. (1980). Coded Character Sets, History and Development (PDF) . The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. pp. 6, 66, 211, 215, 217, 220, 223, 228, 236– 238, 243– 245, 247– 253, 423, 425– 428, 435– 439. ISBN 978-0-201-14460-4. LCCN  77-90165 . 2016年5月26日時点のオリジナルよりアーカイブ(PDF) . 2019年8月25日閲覧.
  4. ^ Shirley, R. (2007年8月).インターネットセキュリティ用語集 バージョン2. doi : 10.17487 /RFC4949 . RFC 4949. 2016年6月13日閲覧
  5. ^マイニ、アニル・クマール(2007年)『デジタルエレクトロニクス:原理、デバイス、アプリケーションジョン・ワイリー・アンド・サンズ、p.28、ISBN 978-0-470-03214-5さらに、テキストの処理方法に影響を与える、印刷されない、ほとんどが廃止された制御文字 33 個のコードも定義しています
  6. ^ 「マイルストーン提案:ASCII マイルストーン - IEEE NJ Coast Section」 IEEEマイルストーン Wiki 2016年3月29日. 2024年2月26日閲覧
  7. ^ a b Brandel, Mary (1999-07-06). 「1963: The Debut of ASCII」 . CNN . 2013年6月17日時点のオリジナルよりアーカイブ。 2008年4月14日閲覧
  8. ^ a b c d「American Standard Code for Information Interchange, ASA X3.4-1963」 Sensitive Research . American Standards Association . 1963年6月17日. 2020年6月6日閲覧
  9. ^ a b c米国情報交換標準コード、USAS X3.4-1967(技術レポート)。米国規格協会。1967年7月7日。
  10. ^ Jennings, Thomas Daniel (2016-04-20) [1999]. 「ASCII文字コードの注釈付き歴史:情報浸透のためのアメリカ標準コード」 . Sensitive Research . 2020年3月8日閲覧
  11. ^ a b c d米国情報システム規格 - 符号化文字セット - 7ビット米国情報交換規格コード(7ビットASCII)、ANSI X3.4-1986(技術報告書)。米国規格協会(ANSI)。1986年3月26日。
  12. ^ Bukstein, Ed (1964年7月). 「バイナリコンピュータコードとASCII」 . Electronics World . 72 (1): 28– 29. 2016年3月3日時点のオリジナルよりアーカイブ。 2016年5月22日閲覧
  13. ^ a b c d e fロバート・ウィリアム・ベマー(1980). 「第1章 ASCIIの内側」(PDF) .汎用ソフトウェア. ベスト・オブ・インターフェース・エイジ. 第2巻. オレゴン州ポートランド, 米国: ダイリチウム・プレス. pp.  1– 50. ISBN 978-0-918398-37-6LCCN  79-67462 . 2016年8月27日時点のオリジナルよりアーカイブ。 2016年8月27日閲覧から:
  14. ^簡潔な報告: 新しい電信アルファベットに関する CCITT ワーキング パーティの会議、1963 年 5 月 13 〜 15 日。
  15. ^ ISO/TC/97/SC 2の報告書 – 1963年10月29~31日の会議。
  16. ^タスクグループX3.2.4に関する報告書、1963年6月11日、ペンタゴンビル、ワシントンD.C.
  17. ^ 1963年12月17日および18日、タスクグループX3.2.4、第8回会議報告書
  18. ^ a b c Winter, Dik T. (2010) [2003]. 「米国および国際規格:ASCII」 2010年1月16日時点のオリジナルよりアーカイブ
  19. ^ a b USA Standard Code for Information Interchange, USAS X3.4-1968 (技術レポート).米国規格協会. 1968年10月10日.
  20. ^ a b c d e f g Salste, Tuomas (2016年1月). 「7ビット文字セット:ASCIIの改訂」 . Aivosto Oy. urn : nbn:fi-fe201201011004 . 2016年6月13日時点のオリジナルよりアーカイブ2016年6月13日閲覧
  21. ^ a b Cerf, Vint (1969-10-16).ネットワーク交換のためのASCIIフォーマット. ネットワークワーキンググループ. doi : 10.17487/RFC0020 . RFC 20. 2016年6月13日閲覧(注:イントロを除いてUSAS X3.4-1968とほぼ同じ文言です。)
  22. ^ Barry Leiba (2015年1月12日). 「RFC 20 (ASCII形式) のインターネット標準への正しい分類」IETF .
  23. ^「Information」. Scientific American (特別版). 215 (3). 1966年9月. JSTOR e24931041 . 
  24. ^ Korpela, Jukka K. (2014-03-14) [2006-06-07]. Unicode Explained – Internationalize Documents, Programs, and Web Sites (第1版の第2版). O'Reilly Media, Inc. p. 118. ISBN 978-0-596-10121-3
  25. ^ ANSI INCITS 4-1986 (R2007): 情報システムのための米国規格 – 符号化文字セット – 7ビット情報交換のための米国規格コード (7ビットASCII)、2007 [1986]
  26. ^ 「INCITS 4-1986[R2012]: 情報システム - コード化文字セット - 7ビット米国国家標準情報交換コード(7ビットASCII)」 2012年6月15日. 2020年2月28日時点のオリジナルよりアーカイブ。 2020年2月28日閲覧
  27. ^ 「INCITS 4-1986[R2017]: 情報システム - コード化文字セット - 7ビット米国国家標準情報交換コード(7ビットASCII)」 2017年11月2日 [2017年6月9日] 。 2020年2月28日時点のオリジナルよりアーカイブ。 2020年2月28日閲覧
  28. ^ “INCITS 4-1986 (R2022)” . webstore.ansi.org
  29. ^シリアル・バイ・ビット・データ伝送における情報交換のための米国国家標準コードのビット順序米国国家規格協会(ANSI)、1966 年、X3.15-1966
  30. ^ 「電信規則および最終議定書(マドリード、1932年)」(PDF)2023年8月21日時点のオリジナルよりアーカイブ。 2024年6月9日閲覧
  31. ^ a b Smith, Gil (2001). 「テレタイプ通信コード」(PDF) . Baudot.net. 2008年8月20日時点のオリジナルよりアーカイブ(PDF) . 2008年7月11日閲覧.
  32. ^ Sawyer, Stanley A.; Krantz, Steven George (1995). A TeX Primer for Scientists . CRC Press . p. 13. Bibcode : 1995tps..book.....S . ISBN 978-0-8493-7159-2. 2016年12月22日時点のオリジナルよりアーカイブ2016年10月29日閲覧。
  33. ^ Savard, John JG 「コンピュータキーボード」2014年9月24日時点のオリジナルよりアーカイブ2014年8月24日閲覧。
  34. ^ 「ASCIIbeticalの定義」 . PC Magazine . 2013年3月9日時点のオリジナルよりアーカイブ2008年4月14日閲覧。
  35. ^ Resnick, Peter W. 編 (2001年4月).インターネットメッセージフォーマット. doi : 10.17487/RFC2822 . RFC 2822. 2016年6月13日閲覧(注: NO-WS-CTL。)
  36. ^ McConnell, Robert; Haynes, James; Warren, Richard. 「ASCIIコードを理解する」 2014年2月27日時点のオリジナルよりアーカイブ。 2014年5月11日閲覧
  37. ^ Barry Margolin (2014年5月29日). 「Re: エディタとワードプロセッサの歴史 (旧: Re: Emacs用RTF)」 . help-gnu-emacs (メーリングリスト). 2014年7月14日時点のオリジナルよりアーカイブ。 2014年7月11日閲覧
  38. ^ a b「PDP-6マルチプログラミングシステムマニュアル」(PDF) . Digital Equipment Corporation(DEC). 1965年. p. 43. 2014年7月14日時点のオリジナルよりアーカイブ(PDF) . 2014年7月10日閲覧
  39. ^ a b「PDP-10 リファレンスハンドブック 第3巻 モニターとの通信」(PDF)。Digital Equipment Corporation (DEC)、1969年、p. 5-5。2011年11月15日時点のオリジナルよりアーカイブ(PDF) 。 2014年7月10日閲覧
  40. ^ 「ヘルプ - GNU Emacsマニュアル」2018年7月11日時点のオリジナルよりアーカイブ2018年7月11日閲覧。
  41. ^ 「ANSI X3.64-1979」(PDF) . 2024年10月27日閲覧
  42. ^ Tim Paterson (2007年8月8日). 「DOSはCP/Mのパクリか?」 DosMan Drivel . 2018年4月20日時点のオリジナルよりアーカイブ。 2018年4月19日閲覧
  43. ^ Ossanna, JF ; Saltzer, JH (1970年11月17~19日). 「端末をタイムシェアリングシステムに接続する際における技術的および人間工学的問題」(PDF) . Proceedings of the November 17-19, 1970, Fall Joint Computer Conference (FJCC) . AFIPS Press. pp.  355– 362. 2012年8月19日時点のオリジナルよりアーカイブ(PDF) . 2013年1月29日閲覧. 「改行」機能(キャリッジリターンとラインフィードの組み合わせ)を使用する方が、改行に両方の機能を必要とするよりも人間と機械の両方にとって簡単です。米国規格X3.4-1968では、改行コードに改行の意味を持たせることが認められています。
  44. ^ O'Sullivan, T. (1971-05-19). TELNETプロトコル. Internet Engineering Task Force (IETF). pp. 4–5. doi : 10.17487/RFC0158 . RFC 158. 2013年1月28日閲覧
  45. ^ Neigus, Nancy J. (1973-08-12).ファイル転送プロトコル. Internet Engineering Task Force (IETF). doi : 10.17487/RFC0542 . RFC 542 . 2013年1月28日閲覧
  46. ^ Postel, Jon (1980年6月).ファイル転送プロトコル.インターネット技術タスクフォース(IETF). doi : 10.17487/RFC0765 . RFC 765. 2013年1月28日閲覧
  47. ^ Crocker, David (1982-08-13). ARPAインターネットテキストメッセージ形式の標準.インターネット技術タスクフォース(IETF). doi : 10.17487/RFC0822 . RFC 822 .
  48. ^ Berners-Lee, Tim; et al. (1996年5月). Hypertext Transfer Protocol -- HTTP/1.0 . Internet Engineering Task Force (IETF). doi : 10.17487/RFC1945 . RFC 1945 .
  49. ^ 「MercurialのEOL翻訳計画」 Mercurial. 2016年6月16日時点のオリジナルよりアーカイブ2017年6月24日閲覧。
  50. ^ Bernstein, Daniel J. 「SMTPにおけるBare LFs」 2011年10月29日時点のオリジナルよりアーカイブ2013年1月28日閲覧
  51. ^ CP/M 1.4 インターフェースガイド(PDF) . Digital Research . 1978年. p. 10. 2019年5月29日時点のオリジナルよりアーカイブ(PDF) . 2017年10月7日閲覧
  52. ^ Haynes, Jim (2015-01-13). 「第一人者:Chadは私たちの最も重要な製品:テレタイプ社をエンジニアが振り返る」エンジニアリングと技術史Wiki (ETHW) . 2023-02-14閲覧. 1961 ASCII から 1968 ASCII への変更がありました。一部のコンピュータ言語では、上矢印や左矢印など、1961 ASCII の文字が使用されていました。これらの文字は 1968 ASCII からは姿を消しました。私たちは、当時テレタイプ社の営業担当だった Fred Mocking と協力して、 1961 ASCII の意味が完全に失われないように、変化する文字をうまく処理できる活字シリンダーを開発しました。アンダースコア文字は、左矢印としても機能するように、くさび形にしました。
  53. ^ Bemer, Robert William . 「Bemer meets Europe (Computer Standards) – Computer History Vignettes」 . Trailing-edge.com. 2013年10月17日時点のオリジナルよりアーカイブ。 2008年4月14日閲覧(注: ベマー氏は当時IBMに勤務していました。)
  54. ^ “Robert William Bemer: Biography” . 2013年3月9日. 2016年6月16日時点のオリジナルよりアーカイブ。
  55. ^ジョンソン、リンドン・ベインズ(1968年3月11日). 「連邦政府による情報交換用標準コードの採用を承認する覚書」 . アメリカ大統領プロジェクト. 2007年9月14日時点のオリジナルよりアーカイブ。 2008年4月14日閲覧
  56. ^ Richard S. Shuford (1996年12月20日). 「Re: ASCIIの初期の歴史?」 .ニュースグループalt.folklore.computers . Usenet: [email protected] . 
  57. ^フォルツ、ハロルド・C.、カープ、ハリー編 (1982年2月1日). 『データ通信規格集成(第2版)』McGraw-Hill Inc. ISBN 978-0-07-021457-6
  58. ^ Dubost, Karl (2008年5月6日). 「UTF-8 Growth on the Web」 . W3C Blog . World Wide Web Consortium . 2016年6月16日時点のオリジナルよりアーカイブ2010年8月15日閲覧。
  59. ^ a b Davis, Mark (2008年5月5日). 「Unicode 5.1への移行」 .公式Googleブログ. 2016年6月16日時点のオリジナルよりアーカイブ。 2010年8月15日閲覧
  60. ^ Davis, Mark (2010年1月28日). 「Unicodeがウェブの50%に近づいている」 .公式Googleブログ. 2016年6月16日時点のオリジナルよりアーカイブ。 2010年8月15日閲覧
  61. ^「特定の基準」、RW Reachのメモの添付資料、「X3-2会議 - 9月14日と15日」、1961年9月18日
  62. ^ Maréchal, R. (1967-12-22)、ISO/TC 97 – コンピュータと情報処理:ISO勧告草案No.1052の受諾
  63. ^ 「DVB ビットストリームで ITU-R システム B テレテキストを伝送するための DVB-TXT (テレテキスト) 仕様」
  64. ^テクニカルリファレンス(PDF) . パーソナルコンピュータハードウェアリファレンスライブラリ (初版). IBM. 1981年8月. 付録C. 文字のキーストロークと色.
  65. ^ Unicodeコンソーシアム (2006年10月27日). 「第13章 特殊領域と書式指定文字」(PDF) . Allen, Julie D. (編). Unicode規格 バージョン5.0 . アッパーサドルリバー, ニュージャージー州, 米国: Addison-Wesley Professional . p. 314. ISBN 978-0-321-48091-0. 2022年10月9日にオリジナルからアーカイブ(PDF)されました。 2015年3月13日閲覧
  66. ^ "utf-8(7) – Linux マニュアルページ" . Man7.org. 2014年2月26日. 2014年4月22日時点のオリジナルよりアーカイブ。 2014年4月21日閲覧

さらに読む