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

実態をぶっちゃけることにしたブログ

【ただの怠慢】テキストファイル・バイナリファイル・文字コードが説明できないエンジニアって・・・【勉強してない】

テキストファイルとは

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

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

バイナリファイルとは

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

以上です!  
 
・・・だけだと、意味がわからないと思うので説明します。
 
 
バイナリファイルには、文字コードのルールに則って0と1が羅列しているデータではない状態を指します。メモ帳などのテキストエディタで開こうとしても「SJIS、UTF-8 等、どの文字コードを当てはめても読めない!」という状態のことです。

バイナリファイルは人間ではなくソフトウェアが読んだり加工したりするために作られたファイルなので、そもそも文字に変換することなど想定されていないわけです。たとえば、ファイルの先頭の1文字が「1だったらこのファイルは未処理」「0だったらこのファイルは処理済み」というルールをプロジェクトの中で決めて、決めたルールに従って0と1を書いていくというイメージです。当然、プロジェクトで決めたルールは、他の現場のプロジェクトにいったら通用しないし全く関係ありません。

ちょっとだけ文字コードに触れておきますと、たとえば「ア」というカタカナ1文字は、実はファイルに書かれているデータは「ア」ではありません。 イメージ図 f:id:nanacy7741:20200810134317p:plain 「1000001101000001」というビット列が「ア」なんです。これは、何かの文字コードのルールに従って書かれた0と1のデータなので、バイナリファイルではなくテキストファイルなのです。

まとめ

 
テキストファイルもバイナリファイルも、中身のデータは「何かしら意味のある0・1の羅列」という点では同じです。
ただ、「人間が文字として読むためのファイル」なのか、「専用のソフトウェアが読むためのファイル」なのか、の違いだけです。
 
見れるはずのデータが文字化けで見れなくなった場合は、文字化けの回避方法をご自身でググってみてください。
 
以上です。
 

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