フリーランスエンジニアで生きていく

12年間普通の会社員して、2018年からフリーランス

テキストファイルとバイナリファイルの違い

f:id:nanacy7741:20200810182524p:plain

テキストファイルとは

文字(文字コード)が書かれたファイルのこと。
拡張子が「.txt」なファイルのこと。 www.freelance-tokyo.com

今回を機に、文字コードとは・・・も理解しましょう。

バイナリファイルとは

テキストファイルではないファイルのこと。

以上です!

・・・だけだと、意味がわからないと思うので説明します。

バイナリファイルには、文字コードのルールを完全に無視したデータが書かれているので、メモ帳などのテキストエディタで開こうとしても「どの文字コードを当てはめてみてもちゃんと読めない!」ということになってまともに開けません。

バイナリファイルは人間ではなくソフトウェアが読んだり加工したりするために作られたファイルなので、そもそも文字に変換することなど想定されていないわけです。

「ア」と書かれたテキストファイルも、実はファイルに書かれているデータは「ア」ではありません。 f:id:nanacy7741:20200810134317p:plain 「1000001101000001」というビット列だということが分かりました。

そして、文字コードのルールに沿って書かれていないファイルのことを「バイナリファイル」と呼び、 その中身は文字に変換することを想定していないデータ(0と1からなるビット列)という内容です。

まとめ

テキストファイルもバイナリファイルも、中身のデータは「何かしら意味のある0/1の羅列」という点では同じです。 ただ、「人間が文字として読むためのファイル」なのか、「専用のソフトウェアが読むためのファイル」なのか、の違いだけです。

これさえ分かっていれば、文字化けしてしまうテキストファイルも、開き方が分からないバイナリファイルも怖くありません。 ただ、そのファイルを開く方法を間違えているだけなのです。テキストファイルなら文字コードを変えてみたり、バイナリファイルならそれを開くためのソフトウェアを探してみたりすれば必ず解決できます。

以上です。

ご意見・ご相談はこちらへ