アスキーコードをデコードします。 ASCIIエンコーディング

の材料 独学講義2のテーマについて

ASCII エンコーディング テーブル (ASCII - 情報交換用米国標準コード - 情報交換用米国標準コード)。

ASCII エンコード テーブルを使用して、合計 256 の異なる文字をエンコードできます (図 1)。 このテーブルは 2 つの部分に分かれています。メイン部分 (OOh から 7Fh までのコード) と追加部分 (80h から FFh まで、文字 h はコードが 16 進数体系に属していることを示します)。

写真1

テーブルから 1 文字をエンコードするには、8 ビット (1 バイト) が割り当てられます。 テキスト情報を処理する場合、1 バイトに文字、数字、句読点、アクション記号などの特定の文字のコードが含まれる場合があります。 各文字には、整数の形式で独自のコードがあります。 この場合、すべてのコードはコーディング テーブルと呼ばれる特別なテーブルに収集されます。 彼らの助けを借りて、シンボルコードはモニター画面上で目に見える表現に変換されます。 その結果、コンピュータ メモリ内のテキストは文字コードを持つ一連のバイトとして表現されます。

たとえば、「こんにちは」という単語です。 は次のようにコード化されます (表 1)。

表1

図 1 は、標準 (英語) および拡張 (ロシア語) ASCII エンコーディングに含まれる文字を示しています。

ASCII テーブルの前半は標準化されています。 制御コード(00h~20h、77h)が含まれます。 これらのコードはテキスト要素には適用されないため、表から削除されました。 句読点と数学記号もここに配置されます: 2lh - !、26h - &、28h - (、2Bh -+、...、大小) 手紙:41時間-A、61時間-A。

表の後半には、各国のフォント、表を作成できる疑似記号、および特殊な数学記号が含まれています。 エンコーディング テーブルの下の部分は、適切なドライバー (制御補助プログラム) を使用して置き換えることができます。 このテクニックを使用すると、複数のフォントとその書体を使用できるようになります。

各シンボルコードのディスプレイには、シンボルの画像が表示される必要があります。各シンボルは独自の形状を持っているため、単なるデジタルコードではなく、対応する画像も表示されます。 各文字の形状の説明は、特別な表示メモリである文字ジェネレータに保存されます。 たとえば、IBM PC ディスプレイの画面上の文字の強調表示は、文字マトリックスを形成するドットを使用して実行されます。 このようなマトリックスの各ピクセルは画像要素であり、明るい場合もあれば暗い場合もあります。 暗いドットは 0、明るい (明るい) ドットは 1 としてコード化されます。記号のマトリックス フィールド内の暗いピクセルをドットとして表し、明るいピクセルをアスタリスクとして表すと、シンボルの形状をグラフィカルに表現できます。

さまざまな国の人々は、母国語で単語を書くために記号を使用します。 最近では、電子メール システムや Web ブラウザを含むほとんどのアプリケーションは純粋な 8 ビットです。つまり、ISO-8859-1 標準に従って、8 ビット文字のみを表示し、正しく受け入れることができます。

世界には 256 以上の文字があり (キリル文字、アラビア文字、中国語、日本語、韓国語、タイ語を考慮すると)、さらに多くの新しい文字が登場しています。 そして、これにより、多くのユーザーにとって次のようなギャップが生まれます。

同じドキュメント内で異なるエンコード セットの文字を使用することはできません。 各テキスト文書は独自のエンコーディングのセットを使用するため、自動テキスト認識には大きな困難があります。

新しい記号が表示されます (例: ユーロ)。その結果、ISO は ISO-8859-1 標準によく似た新しい標準 ISO-8859-15 を開発しています。 違いは、古い ISO-8859-1 エンコード テーブルでは、現在使用されていない古い通貨の記号が削除され、新しく導入された記号 (ユーロなど) のためのスペースが確保されていることです。 その結果、ユーザーはディスク上に同じドキュメントを、異なるエンコーディングで保存する可能性があります。 これらの問題の解決策は、と呼ばれる単一の国際的なエンコーディングのセットを採用することです。 ユニバーサルコーディングまたはユニコード。

ASCII が形成されたとき、テレタイプやタイプライターに固有の制御文字がエンコードの先頭に組み込まれ、時間が経つにつれてそこにしっかりと定着しましたが、21 世紀では実際には使用されません。

ASCII エンコードに関する詳細情報は次のとおりです。

アスキー(英語) アメリカ人 s標準的な cのための頌歌 情報 nterchange、[ˈæs.ki]) は、数値コードがいくつかの一般的な印刷文字および印刷不可能文字に関連付けられているテーブル (エンコーディング、セット) の名前です。 このテーブルは 1963 年に米国で開発され、標準化されました。 ロシア語の「ASCII」という名前は、多くの場合「[」と発音されます。 私に尋ねてください].

ASCII テーブルでは、文字のコードが定義されています。

  • 10 進数。
  • ラテン文字。
  • 各国のアルファベット。
  • 句読点;
  • 制御文字。

当初 (1963 年)、ASCII は文字をエンコードするために開発され、そのコードは 7 ビット (128 文字、27 = 128) に配置され、最上位 7 番目のビット (0 から番号付け) はデータ送信中に発生するエラーを制御するために使用されました。

時間が経つにつれて、エンコードは 256 文字 (28=256) まで拡張されました。 最初の 128 文字のコードは変更されていません。 ASCII は 8 ビット エンコーディングの半分として認識され始め、「拡張 ASCII」は 8 番目のビットを含む ASCII と呼ばれるようになりました (たとえば、KOI-8)。

文字オーバーレイ

バックスペース (BS) 文字を使用すると、プリンタで 1 つの文字を別の文字の上に印刷できます。 ASCII では、次のように同じ方法で文字に発音記号を追加できます。

  • a BS ‘ → á
  • a BS ` → à
  • BS^→â
  • o BS / → ø
  • c BS , → ç
  • n BS ~ → с

注記: 古いフォントでは、アポストロフィ「'」は左に傾いて描画され(「`」と「´」を比較)、チルダ「~」は上に傾いて(「~」と「˜」を比較)、ちょうど良い文字は、鋭角の「´」と「上部のチルダ」です。

同じ位置に同じ文字を 2 回入力すると、太字になります。 1 つの位置に文字を入力し、次にアンダースコア「_」を入力すると、アンダースコア文字が取得されます。

  • BS → ある
  • aBS_→a

この技術は現在でも、たとえばマンヘルプシステムなどで使用されています。

各国の ASCII バリアント

ISO 646 (ECMA-6) 標準では、各国文字を ASCII に配置する可能性が規定されています。 これを行うには、記号「@」、「[」、「\」、「]」、「^」、「`」、「(」、「縦棒」、「)」、「~」を置き換えることが提案されています。 ”。 また、ハッシュ記号「#」の代わりにポンド記号「£」を使用したり、ドル記号「$」の代わりに通貨記号「¤」を使用したりできます。 このシステムは、ラテン文字と少数の追加文字のみを使用するため、ヨーロッパ言語に適しています。 各国語文字を含まない ASCII バージョンは、「US-ASCII」または「国際参照バージョン」と呼ばれます。

非ラテン文字を使用する一部の言語 (ロシア語、ギリシャ語、アラビア語、ヘブライ語) では、ASCII のより根本的な変更が行われました。 これらの修正の 1 つでは、小文字のラテン文字 (ロシア語とギリシャ語の場合は大文字) の代わりに国の記号が配置されました。 US-ASCII と各国版の間で切り替えるための別の変更が提供されました。 切り替えは、SO シンボル (英語) を使用して「オンザフライ」で実行されました。 sシフト ああ ut) および SI (eng. sシフト n); この場合、各国版ではラテン文字を各国の記号に完全に置き換えることができました。 KOI-7も参照。

その後、8 ビット エンコーディングを使用する方が便利であることが判明しました ( コードページ)、コード テーブルの下半分 (0 ~ 127) は US-ASCII 文字で占められ、上半分 (128 ~ 255) は各国文字セットを含む追加の文字で占められます。

したがって、Unicode が広く採用される前は、ASCII テーブルの上半分は、ローカライズされた文字、つまり現地言語の文字を表すために積極的に使用されていました。

ASCII テーブルにキリル文字を配置するための統一標準が存在しないため、エンコーディング (KOI-8、Windows-1251 など) で多くの問題が発生しました。 非ラテン文字を使用する他の言語も、いくつかの異なるエンコーディングに悩まされていました。

Unicode 標準の最初の 128 文字は、対応する US-ASCII 文字と同じです。

アスキーテーブル

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. NUL ソー STX ETX EOT ENQ 確認応答 ベル 理学士 HT LF VT FF CR それで S.I.
1. DLE DC1 DC2 DC3 DC4 N.A.K. シン ETB できる E.M. サブ ESC FS G.S. R.S. 私たち
2. ! « # $ % & ( ) * + , - . /
3. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4. @ B C D E F G H J K L M N
5. P Q R S T U V W バツ Y Z [ \ ] ^ _
6. ` ある b c d e f g h j k メートル n ああ
7. p q r s t あなた v w バツ y z { | } ~ デル

ASCII 標準の最初のバージョン (1963 年) では、位置 0x5e (94) と 0x5f (95) にそれぞれ上矢印と左矢印の記号が含まれていました。 ECMA-6 標準 (1965 年) では、それぞれキャレット文字 (サーカムフレックス文字 "^" としても使用されます) とアンダースコア文字 "_" に置き換えられました。

制御文字

ASCII テーブルは、テレタイプによる情報交換のために作成されました。 このセットには、テレタイプ装置を制御するためのコマンドとして使用される非印刷文字が含まれていました。 同様のコマンドは、デバイスの仕様を考慮して、コンピューター以前の他のメッセージング手段 (モールス信号、セマフォ コード) でも使用されていました。

  • NUL、00 - null、空。 Null 文字は常に無視されました。 穴あき紙テープでは、数字の「1」は穴があり、数字の「0」は穴がないことを示します。 情報が記録されていないパンチテープの部分には穴はなく、つまりヌル文字が含まれていました。 このようなセクションはテープの最初と最後にありました。 Null 文字は、現在でも多くのプログラミング言語で行終端記号として使用されており、「\0」で表されます。 (「文字列」という用語は、一連の文字を指します。)一部のオペレーティング システムでは、null がテキスト ファイルの最後の文字になります。

通信チャネルを介して送信されるメッセージは、次の 2 つの部分に分割されました。

  • "タイトル";
  • "文章"。

「ヘッダー」には送信者と受信者のアドレス、チェックサムなどが含まれており、「テキスト」の前後に配置できます。 「テキスト」という用語は、印刷を目的としたメッセージの一部でした。

  • ソー, 01 - sタルト ああ f h eading、「見出し」の始まり。
  • STX, 02 - sのタルト t e バツ t、「テキスト」の始まり。 このシンボルは、テレタイプ印刷装置をオンにするコマンドとして使用されました。 印刷テキストは、シンボル STX と ETX の間にありました。
  • ETX, 03 - eの数番目 t e バツ t、「テキスト」の終わり。 このシンボルはテレタイプ印刷装置の電源を切るために使用されました。 最近では、プロセスに SIGINT シグナルを送信するためにコード 03 が使用されています。 署名するナル 整数エラー)、キーの組み合わせ Ctrl + C を押すことで送信できます。 このようなシグナルを受信すると、プロセスは終了する必要があります。
  • EOT, 04 - e nd ああ f t送信、送信終了。 このシンボルは、端末エミュレータによって「ファイルの終わり」(EOF) を意味するために使用されます。 e nd ああ f fイル)、キーの組み合わせ Ctrl + D を押すことで送信できます。 このような文字を受信すると、端末エミュレータは現在端末で動作しているプロセスを判断し、ファイルの終わり (EOF) フラグを標準入力ストリーム (stdin) に設定します。 セントアンダル d ストリームを置く)このプロセスの。 その結果、プロセスは標準入力の読み取りを停止し、読み取りデータの処理を開始します。
  • ENQ, 05 - エンクウイレ。 「ご確認ください。」
  • 確認応答, 06 - ああ献身。 "私が確認する。" NAK 記号はその逆、「確認しません」を意味します。
  • ベル, 07 - ベルベル、ビープ音。 この記号は多くの場合「\a」として表され、ビープ音を鳴らすために使用されます。 最近の PC では、内蔵スピーカーから音が出ます。 たとえば、次のコマンドはサウンドを再生できます。 echo -e "\a" または echo -e "\007" (bash)。 echo ^G (cmd.exe; ^G を入力するには Ctrl + G を押します)、printf("\a"); (C プログラミング言語のコード)。
  • 理学士, 08 - bああ sペース、1 文字を返します。 ← Backspace キーは、前の文字を消去するために使用します。
  • タブ, 09 - t ab、水平タブ。 「\t」として表されます。 英語からHTと呼ばれることもあります。 h水平 tアブレーション.
  • LF、0A - イネ fイード、改行。 印刷装置のキャリッジを 1 行下に下げるコマンド。 この記号は、OSUNIX のテキスト ファイル内の行の終わりを示すために使用されます。 文字シーケンス CR LF は、Windows のテキスト ファイルの行の終わりを示します。 多くのプログラミング言語では、記号は「\n」として表されます。 テキスト出力時に↵ Enterキーを押すと改行されます。
  • VT、0B - v垂直 t ab、垂直タブ。
  • FF、0C - fオーム f eed、ページ実行、新しいページ。 プリンターコマンド: 次のシートの先頭から印刷を続けます。
  • CR、0D - c結婚 rイーターン、キャリッジリターン。 プリンターコマンド: (新しい行からではなく) 現在の行の先頭から印刷を続けます。 多くのプログラミング言語では、CR 文字は「\r」として表されます。 Mac OS では、CR 文字はテキスト ファイル内の行の終わりを示します。 キーボードから Ctrl + M のキーの組み合わせを押すと、CR 記号を入力できます。
  • それで、0E - sシフト ああ別のフィードに切り替えてください。 もう一方のリボンは通常赤色でした。 その後、このシンボルは各国のエンコードに切り替えるために使用されました。
  • S.I.、0階 - sシフト n. SO の逆を実行するコマンド: ソース テープに切り替えるか、ソース エンコーディングに切り替える。
  • DLE, 10 - dあた インク eスケープ、データチャネルの解放。 DLE に続く文字はすべて、制御文字ではなくデータとして扱われる必要があります。
  • DC1, 11 - dエビス cコントロール 1 , 1番目のデバイス制御キャラクター。 コマンド: パンチされたテープ リーダーの電源を入れます。
  • DC2, 12 - dエビス cコントロール 2 , 2番目のデバイス制御キャラクター。 命令: ハンマードリルをオンにします。
  • DC3, 13 - dエビス cコントロール 3 , 3番目のデバイス制御キャラクター。 コマンド: パンチされたテープ リーダーの電源を切ります。
  • DC4, 14 - dエビス cコントロール 4 , 4番目のデバイス制御キャラクター。 命令: ハンマードリルを止めてください。
  • N.A.K., 15 - nネガティブ ある c k承知しましたが、私は確認しません。 ACK 文字の逆。
  • シン, 16 - シン年代化 この文字は、同期のために何かを送信する必要があるときに送信されました。
  • ETB, 17 - eの数番目 t内線 bロック、テキストブロックの終わり。 技術的な理由により、テキストがブロックに分割される場合があります。
  • できる, 18 - できるセル、キャンセル(以前に送信されたもの)。
  • E.M., 19 - eの数番目 メートルメディア、メディアの終わり(パンチテープ、紙などの切れ)
  • サブ、1A - サブ代理人、代理人。 このシンボルは、送信中に意味が失われたか破損したシンボルの代わりに配置されます。 または、シンボルが、解釈するために追加の文字セットに切り替える必要があるシンボルの前に配置されます。 または、シンボルは、別の色で印刷する必要があるシンボルの前に配置されます。 現在、この記号は Ctrl + Z キーの組み合わせを押すことによって挿入され、DOS および Windows でファイルの終わりを示すために使用されます。
  • ESC、1B - ESC猿。 ESC 文字に続く文字には、ASCII で定義されているものとは別の意味があります。 通常、ESC 文字の後にはエスケープ シーケンスが続きます。 DOS では、ANSI.SYS ドライバーによって実装されます。

4 つのレベルへのデータ分割がサポートされました。

  • メッセージはファイルで構成されている場合があります。
  • ファイルはグループで構成されている場合があります。
  • グループはレコードで構成されます。
  • レコードはユニットで構成されている場合があります。
  • FS、1C - fイル s区切り文字、ファイル区切り文字。
  • G.S.、1D - gグループ s区切り文字、グループ区切り文字。
  • R.S.、1E - r記録 s区切り文字、レコード区切り文字。
  • 私たち、1階~ あなたニット s分離器、単位分離器。
  • デル、7階~ デル ete、最後の文字を消去します。 DEL シンボルは、バイナリ コード内のすべて 1 で構成されており、任意のシンボルを「スコア」するために使用できます。 デバイスとプログラムは NUL だけでなく DEL も無視しました。 この文字のコードは、パンチテープ上のメモリを備えた最初のワードプロセッサに由来しています。それらでは、文字の削除は、コードを穴 (論理単位を示す) で「詰まらせる」ことによって行われていました。

テーブルの構造特性

  • 数字「0」~「9」の文字コード バイナリーシステム数値は 00112 で始まり、2 進数値で終わります。 たとえば、01012 は数字の 5、0011 01012 は記号「5」です。 これを知っていると、各 BCD ニブルの左側に 00112 を追加するだけで、2 進化 10 進数 (BCD) 数値を ASCII 文字列に変換できます。
  • 大文字と小文字の「A」~「Z」の表現は 1 ビットだけ異なります。これにより、大文字と小文字の変換と、コードが値の範囲に属しているかどうかのチェックが簡素化されます。 文字は、2 進数の 5 桁のアルファベットのシリアル番号で表され、その前に 0102 (大文字の場合) または 0112 (小文字の場合) が付きます。

コンピュータにおける ASCII の表現

最新のコンピュータの大部分では、アドレス指定可能なメモリの最小単位は 8 ビット バイトです。 そのため、7 ビット文字ではなく 8 ビット文字が使用されます。 通常、ASCII 文字は、最上位ビットとしてゼロ ビットを 1 つ追加するだけで 8 ビットに拡張されます。

ASCII コードは、(IBM PC スキャン コードやその他の内部コードとは対照的に) 押されたキーの中間クロスプラットフォーム コードとしてプログラミングで使用されます。

QWERTY キーボード レイアウトの場合、コード テーブルは次の表のとおりです。

逃げる F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 プリントスクリーン スクロールロック 一時停止
1 2 3 4 5 6 7 8 9 0 - =+ バックスペース 入れる ページアップ ナムロック / 余分な * 追加 +追加
タブ Q W E R T Y U P [ ] 消去 終わり ページダウン 7追加 追加8個 追加9個
キャップスロック S D F G H J K L ;そして ああ 入力 追加4個 追加5個 追加6個 追加で入力してください
シフト Z バツ C V B N M ,< .> / シフト \| 追加1個 2追加 3追加
Ctrl 勝つ オルタナティブ スペースキー オルタナティブ 勝つ リスト Ctrl イン/0 デル/。

46/110

このキーボード レイアウトにはロシア語の文字はなく、いくつかの不正確さもありますが、主な機能は反映されています。

皆さんもぜひ声を上げてください

テキスト情報のコーディング。 アスキーコーディング。 主に使用されるキリル文字コード

あらゆるテキストは、あるアルファベットの文字のシーケンスです。 使用されているアルファベットの各文字が数字でエンコードされている場合、テキストは一連の数字として表されます。 テキストを処理するとき、コンピューターは数値のバイナリ表現を使用します。

エンコードされたテキストを正しく解釈するには、ソース アルファベット内の 1 つの文字のバイナリ コードがどこで終わり、別の文字のバイナリ コードが始まるかを知る必要があります。 各文字を 8 ビット (1 バイト) のシーケンスとしてエンコードできます。

8 桁の場合、28 = 256 個の異なる整数を書き込むことができます。 2進数- 000000002 から 111111112 まで。 これは、英語とロシア語のアルファベットの大文字と小文字、すべてのアラビア数字、句読点、その他の必要な記号、およびデータ送信用のサービス コード、固有の (反復しない) 8 ビット指定を割り当てるのに十分です。

デジタル エンコードとその後のデコードの便宜のために、コード テーブルがコンパイルされます。 オペレーティング システムが異なるコンピューターの種類が異なれば、使用するコード テーブルも異なります。 コンピューターのキーボード文字を 8 ビット数値でエンコードするための標準の 1 つは、ASCII (American Standard Code for Information Interchange) コード テーブルです。 その前半部分 (コード 0 ~ 127) には、句読点、アラビア数字、英語のアルファベットの記号が含まれており、合意により世界中で一般に受け入れられています。 ASCII テーブルのコード 128 ~ 255 (拡張 ASCII コード) は、主に各国のアルファベットに使用されます。

Alt キーを押しながら、小さなテンキーで 0 ~ 255 の任意の数字を入力すると、コード テーブルを再現できます (図 1 は、このようにして得られたコード テーブルを示しています)。

♫ ☼ ◄ ↕

← ∟ ↔

MNOPRSTUF

Ts Ch Sh Sh Sh Shch y b E Yu Ya

図 1 – コード表

コードは行番号と列番号から形成されます。 たとえば、コード 50 は数字の 2 に対応し、コード 134 は文字 Z に対応します。0 ~ 32 のコードはサービス コードです。

さまざまな国語のアルファベットの使用に焦点を当てた、コード テーブルの多くの変種が存在すること自体が、非常に不便です。 テーブルを整理するために、特別な名前と番号を割り当て始めました (たとえば、

KOI-8)、しかしこれは作成の問題を解決しませんでした。 統一システムさまざまな国のアルファベットを組み合わせたコード。

これらの不都合や制限は、最新バージョンでサポートされる新しい国際 Unicode 標準のおかげで可能になります。 オペレーティング·システムマイクロソフトウィンドウズ。 現在、この文字エンコーディング標準では 1 文字あたり 2 バイトが割り当てられます。 このエンコーディングでは、216 = 65,536 個の異なる文字をバイナリ アルファベットで表現できます。 最初の 128 文字は同じ ASCII コードです。

メッセージの情報量

解決策に関する問題

タスク。 各文字が 1 バイト (KOI-8) でエンコードされていると仮定します。 メッセージの情報量を評価する

2進数の足し算のルールは知っています。

メッセージには 39 文字が含まれているため、エンコードするには 1 文字あたり 1 バイトが必要です *39 文字 = 39 バイト、

または 8 ビット/バイト * 39 バイト = 312 ビット。

1. 前のメッセージの例では、「binary」という単語が「10 進数」という単語に置き換えられました。 メッセージの情報量はビット単位、バイト単位でどのように変化したのでしょうか?

答え: メッセージの情報量は 2 バイト、つまり 16 ビット増加しました。

2. 各文字が 1 バイト (KOI-8) でエンコードされていると仮定します。 メッセージの情報量を評価する

情報量を評価することができます。

回答: メッセージの情報量は 48 バイトです。

3. 各文字が 2 バイト (Unicode) でエンコードされていると仮定します。 メッセージの情報量を評価する

そのようなコーディングがKOI-8であることは知っています。

回答: メッセージの情報量は 68 バイトです。

4. 各文字が 2 バイト (Unicode) でエンコードされていると仮定します。 メッセージの情報量を評価する

アルゴリズムは自然言語で記述できます。

回答: メッセージの情報量は 92 バイトです。

5. ロシア語の情報メッセージは、もともと 16 ビット Unicode で書かれていましたが、8 ビット KOI-8 エンコードに再コード化されました。 同時に、情報メッセージは 480 ビット削減されました。 メッセージの長さは何文字ですか?

回答: メッセージの長さは 60 文字です。

6. ロシア語の情報メッセージは、もともと 8 ビット KOI-8 コードで記録されていましたが、16 ビット Unicode エンコードに再コード化されました。 同時に、情報メッセージの量は 568 ビット増加しました。 メッセージの長さは何文字ですか?

回答: メッセージの長さは 71 文字です。

7。 ロシア語の情報メッセージは、もともと 8 ビット KOI-8 コードで記録されていましたが、16 ビット Unicode エンコードに再コード化されました。 情報メッセージの量はどのように変化しましたか?

回答: 情報メッセージの量は 2 倍になりました。

8. Unicode エンコーディングで 200 ビットの情報量を持つメッセージには何文字が含まれますか?

回答: メッセージには 25 文字が含まれます。

9. KOI-8エンコーディングの情報量が240ビットの場合、メッセージには何文字が含まれますか?

回答: メッセージには 30 文字が含まれます。


情報のエンコードとデコード

解決策に関する問題

1. 文字 A、B、C、D をエンコードするには、4 桁の数字を使用します バイナリコードそれぞれ1000から1011まで。 文字 B、D、C、A のシーケンスについては、バイナリ コードを書き留め、エンコード結果を 8 進コードで表します。

文字コードを表 1 に示します。 表 1

対応する 2 進数コードには 16 ビットが含まれています: 1001101110101000。この数値を 3 進数に分解された 8 進数コードに変換するには、この数値を記述する方が便利です: 1 001 101 110 101 000。対応する 8 進数が次の形式であることは明らかです: 115650。

2 進数で表された数値を 16 進数に変換するには、2 進数表記を右から四進数 (4 桁のグループ) に分解すると便利です。

2. ロシア語アルファベットの 5 文字については、2 桁または 3 桁を含めることができるバイナリ コードが指定されます。 コードは表 3 に記録されています。

1) 110100000100110111

2) 101010000010010011

3) 110100001001100111

4) 110110000100110010.

4 つのメッセージをそれぞれ順番にデコードし、表 3 に従ってビットのグループに分割します。

1) 11 01 000 001 001 10 111 最後の数字グループを記号に関連付けることはできません

表 3 によると、メッセージにエラーが含まれています。

2) 10 10 10 000 01 001 001 1 メッセージにエラーが含まれています。

3) 11 01 000 01 001 10 01 11

メッセージは解読できます。 4) 11 01 10 000 10 01 10 010 メッセージにエラーが含まれています。

答え: 3) 110100001001100111

独立したソリューションのタスク

1. 文字 M、N、P、Q をエンコードするには、それぞれ 1000 ~ 1011 の 4 ビット バイナリ コードを使用します。 一連の文字 N、Q、P、M については、バイナリ コードを書き留め、エンコード結果を 8 進コードで表します。

答え: 2 進コード 1 001 101 110 101 000、8 進コード 115650。

2. 文字 A、B、C、D をエンコードするには、それぞれ 1000 から 1011 までの 4 桁のバイナリ コードが使用されます。 文字 B、D、C、A のシーケンスについては、バイナリ コードを書き留め、エンコード結果を 16 進コードで表します。

答え: 2 進コード 1001 1011 1010 1000、16 進コード 9BA9。

3. 文字 M、N、O、P をエンコードするには、それぞれ 000 から 111 までの 3 桁のバイナリ コードが使用されます。 一連の文字 O、N、M、P については、バイナリ コードを書き留め、エンコード結果を 8 進コードで表します。

答え: 2 進コード 110 101 100 111、8 進コード 6547。

4. 文字 M、N、O、P をエンコードするには、それぞれ 100 から 111 までの 3 桁のバイナリ コードが使用されます。 一連の文字 O、N、M、P については、バイナリ コードを書き留め、エンコード結果を 16 進コードで表します。

答え: 2 進コード 1101 0110 0111、16 進コード B67。

2 番目の桁を 3 にすることはできません。

6. 4 桁の数字を構成するには、1、2、3、4、5 の数字を使用し、次の規則に従う必要があります。

1 位は 1、3、4 のいずれかになります。

数字を書くときは、偶数と奇数が交互になります。

3 桁目に 4 を指定することはできません。

これらの規則に従って構成されたすべての可能な数字を書き留めます。

7. 4 桁の数字を構成するには、1、2、3、4、5 の数字を使用し、次の規則に従う必要があります。

1 位は 2、4、5 のいずれかになります。

数字を書くときは、偶数と奇数が交互になります。

2 番目と最後の数字を同じにすることはできません。 これらの規則に従って構成されたすべての可能な数字を書き留めます

8. ロシア語のアルファベットの 5 文字には、2 桁または 3 桁の数字を含めることができるバイナリ コードが示されています。 コードは次の表に書かれています。


このエンコードの 4 つのメッセージのうち、エラーなしで通過したのは 1 つだけであり、正しくデコードできるのは 1 つだけです。 リストから次のメッセージを見つけます。

1) 110100000100110011

2) 111010000010010011

3) 110100001001100111

4) 110110000100110010。答え: 110100001001100111

9. ロシア語アルファベットの 5 文字については、2 桁または 3 桁を含むことができるバイナリ コードが示されています。 コードは次の表に書かれています。

シーケンス FIGHT をエンコードすると、メッセージを正しくデコードできなくなるエラーがコードに導入されます。

トレーニングテスト

2 各文字が 1 1) 384 ビット バイトでエンコードされていると仮定します。(KOI-8)。 料金情報2) 192ビット

この文の文字数は 24 文字です

エンコーディング

3 プロデュース

録音

情報メッセージ

もともと8年に書かれた言語 -

ビット コード KOI-8、16 ビット エンコーディングへ

ユニコード。 同時に情報量も

メッセージが 336 ビット増加しました。 とは

メッセージの長さは文字数でしょうか?

4 文字数は何文字までですか?

メッセージ、

情報提供

KOI-8エンコーディングでは240です

5 文字数は何文字までですか?

メッセージ、

情報提供

Unicode ではこれは

6 文字 A、B、C、D をエンコードするには

3桁のバイナリコードを使用する

正しい

エラーを見つけた場合は、テキストを選択して Ctrl+Enter を押してください。