JavaRush /Java Blog /Random-JA /バイト。ファイルから何を読み取るのでしょうか?
Roman
レベル 33

バイト。ファイルから何を読み取るのでしょうか?

Random-JA グループに公開済み
基本的に初心者向けの情報です。ファイルから情報を読み取るという話題が出たとき、ファイルに文字が含まれているのに、なぜバイト形式で数値を読み取るのか、この場合のバイトとは何なのか、という疑問が生じました。バイトとは何かについては、すでにここで十分に詳しく書かれています。しかし、文字を数字に変換するメカニズムについては読み終わった後も疑問が残ったので、インターネットでもう少し深く調べる必要がありました。したがって、以下に書かれていることは追加であると考えられます。コンピュータは、各ファイルをバイナリ形式の 0 と 1 で構成される情報として保存します。各ファイルは実際には、互いに続くバイトのコレクションです。通常、情報ファイルにはテキスト ファイルとバイナリ ファイルの 2 種類があります。テキスト ファイルには、人間が読み取れる典型的な文字セットが含まれており、任意のテキスト エディタで開くことができます。バイナリファイルは日常生活では馴染みのない文字で構成されているため、バイナリファイルを読み込むための特別なプログラムが必要です。テキスト ファイルは、文字、数字、その他の一般的な文字で構成されます。このようなファイルには、.txt、.py、.csv などの拡張子が付いています。このようなファイルを開くと、単語を構成する通常の文字のセットが表示されます。ただし、実際には、このコンテンツはコンピューター内にこの形式で保存されません。これはビットの形式、つまり 0 または 1 で格納されます。さまざまなエンコード テーブルでは、ASCII、UNICODE、またはその他の各文字の値がバイナリ形式で定義されます。したがって、1 バイトが 256 文字を保持できる場合、各文字は 0 と 1 の独自のバイナリ エンコーディングを持ちます (0 または 1 を 8 つ連続して書くと 1 つの文字になります)。したがって、ファイルが開かれると、テキスト エディタは各 ASCII 値を馴染みのある文字に変換し、通常の形式で表示します。たとえば、ASCII コードのバイナリ形式の 65 番は 1000001 で、ファイル内ではラテン語 (キリル文字ではありません。キリル文字は 192 位から始まります) 文字「A」で表示されます。つまり、ASCII システムでは、値 1000001 のバイトはラテン文字「A」の値に対応します。ファイルの各行には独自の改行、EOL (End of Line) があります。多くの場合、この文字 (2 文字) は「\n」 (ASCII のバイナリ値: 00001010) です。このような文字を読み取ると、プログラムはそれを行の終わり、および次の行への移行として解釈します。他にも同様の「機能記号」があります。バイナリ ファイルは、テキスト ファイルと同様、バイナリ形式で保存されますが、バイナリ ファイルをデコードするプログラムに「添付」されていません。つまり、ASCII タイプの復号化テーブルがありません。基本的に、このようなファイルのコンテンツは画像、オーディオ、ビデオであり、自己実行ファイル (.exe) などの他のファイルの圧縮バージョンです。このようなファイル (バイナリ) は、通常の意味では人間が読み取ることができないため、従来のテキスト エディタで開こうとすると、理解できないゴミが大量に表示されます。したがって、そのようなファイルを正しく読み取るための特別なプログラムが作成されます。バイナリ ファイルも一連のバイトとして保存されますが、この場合、1 ビットでも変更するとファイル全体が読み取れなくなる可能性があります。ASCII 文字テーブルはここで参照できます。。したがって、ファイルを読み取るときは、8 文字 (1 または 0) がバイト変数に読み込まれ、メモ帳などのプログラムで読み取り可能な文字に変換できます。 それを理解するのに役立った ソース。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION