7

私はカーニハンとリッチーのCプログラミング言語の本を読んでいて、37ページに次のようなバイトサイズのビットパターンについて言及しています。

'\013'垂直タブ用。

'\007'ベル文字用。

私の疑問:

  1. その中のバイトサイズとは何ですか?ビットパターンとは何ですか?
  2. これにはどのような関連性があり、どこに適用できますか?
  3. エスケープシーケンスに関連しているのでしょうか?

Web上でこれらのバイトサイズのビットパターンに関する情報を見つけることができないようです。助けてください 。ありがとう 。

4

3 に答える 3

7
  1. 1 バイトは 8 ビットです。こちらをご覧ください
  2. ビット パターンは、データを構成するビットです。例: 8 進数値 (すなわち'\007) はビット パターン (最上位ビットが最初) に変換され、0000 0111'\013'になります。ビット パターン 0000 1011 になります。
  3. 通常、これらのエスケープ シーケンスは、印刷できない文字に使用します。
  4. '\007'エスケープシーケンスです。そうです'\\'
于 2012-12-02T03:41:02.210 に答える
5

C が最初に開発され使用されたとき、元のターゲットはPDP-11 ミニコンピューターでした。PDP-11 には 16 ビット プロセッサが搭載されていました。当時、ほとんどの入力は、テレタイプ端末またはテレプリンター端末(陰極線管ではなく印刷された紙を備えたキーボード) のいくつかのバージョンで行われていました。その後、紙タイプの端子に代わってDEC-VT100 端子などの陰極線管タイプの端子が導入されました。

これらの端末は、端末とホスト コンピュータ間で通信するためにケーブルを使用してホスト コンピュータに接続されていました。短いケーブルではRS-232 標準が使用され、25 ピンのうち 3 つ (送信、受信、および接地) のみを使用し、端末とホスト コンピュータ間のソフトウェア ハンドシェイクが行われました。RS-422 規格は、より長いケーブル配線に使用されました。直接接続のデータ転送速度は、通常 9600ボーまたは 14,400 ボーでした。

公衆交換電話網を使用してホスト コンピュータに到達するリモート ターミナルの場合、接続の両端でモデムを使用して、デジタル信号を音響信号に変換し、電話回線を介して送信するために変換しませんでした。端末のキーボードで入力された文字は、ケーブルを介してホスト コンピュータに送信されました。ほとんどのモデムは、事実上のヘイズ コマンド セット標準のいくつかのバリエーションを使用していました。

PDP-11 は、7 ビット コードを使用して各文字を表すASCII 文字セットを使用し、8 番目のビットは単純なパリティ エラー チェック プロトコルを実装するために使用されました。その後、欧州言語の文字を追加して拡張 ASCII 文字セットと ANSI 文字セット、およびCRT タイプのテキスト色を設定するためのANSI エスケープ コード シーケンスを開発するために、パリティ ビットを文字の一部として使用することによって ASCII 文字セットが拡張されました。が表示されます。

元の ASCII コードには、ベルを鳴らす、垂直および水平タブ、改行または行末などの端末制御に使用されるコードのセクションがありました。また、Start などの単純なプロトコルを作成するために使用されるコードもありました。停止コード。エスケープ文字を使用して、テキストの色の開始などの制御シーケンスの開始を示したり、ディスプレイ上の特定の行や列にカーソルを移動したりするデフォルトの標準の 1 つです。

最新のグラフィカル ユーザー インターフェイスでは、これらのほとんどはかなり古く、使用されていませんが、ANSI エスケープ コードをグラフィカル ウィンドウ内のさまざまな表示動作に変換するターミナル エミュレーターがまだあります。

したがって、Kerninghan と Ritchie が PDP-11 で C と Unix オペレーティング システムを開発していたとき、彼らは DEC PDP-11 命令セット、ASCII 文字セット、およびテレプリンターなどの PDP-11 周辺機器の環境内で作業していました。

そこで、テレプリンターのベルを鳴らし、テキスト行が印刷されるときにタイピング ヘッドを制御するために、特別な制御文字を文字列に埋め込む方法を備えた 8 ビット文字で構成されるテキスト文字列に自然に落ち着きました。

于 2012-12-02T04:59:29.823 に答える
0

これは、基数 8 (8 進数) で文字 (バイト) 値を入力するための単なるメカニズムです。通常、文字列または文字定数に制御文字や類似の文字を追加するために使用されます。

于 2012-12-02T03:37:40.783 に答える