バイナリとテキストの本当の違い – 404 Blog Not Found

情報元: http://blog.livedoor.jp/dankogai/archives/51199467.html

たぶん、異論反論オブジェクションだと思われw

誰がどう考えてもテキストデータとしか言いようがないもの、*.txtなテキストファイルをバイナリエディタで開いてみましょう。\0で終わっているでしょうか?終わっていないと思います。
これは、ファイルシステムによってファイルサイズが定義されているからで、WindowsのNTFSにとってはメタデータとなります。

ここで、記事の定義だとWindowsのテキストファイルはバイナリであると捉えることができてしまいます。
メモリ上では、記事にあるように末端にnull文字の付いたテキストデータであったのかも知れませんが、これをファイルに落とし込んだ時点でバイナリ化してしまいます。

HTTPのPOSTでのファイルアップロードを考えてみましょう。HTTPのファイルアップロードではバイナリファイルの送信が可能です。しかし、送信時に必ずしもあらかじめファイルサイズを送信しておく必要はなく、ファイルデータはあらかじめ決められたboundaly文字列によって始端と末端が区切られます。つまり、boundaly文字列が登場するまでが一つのデータと言うことになります。

これに記事の定義を当てはめると、HTTPはバイナリデータをテキスト化して送信するプロトコルとなります。

おかしくないですか?データ自体はメールのようにMIMEエンコードされているわけではなく、生のままです。にもかかわらず、プロトコルの定める送信方法によって、そこで扱われるすべてのデータは「テキストデータ」と定義できてしまうわけです。

このように、データの本質(つまりbit)が変わらなくてもその媒体によってテキストデータとバイナリデータがめまぐるしく変わることとなります。これを意識して会話/文章化するのが妥当なのでしょうか?

むしろ、テキストデータとバイナリデータの違いは文字コード準拠の有無であるとした方が、状況を考えなくてすむと思います。

Tags: , ,

関連トピックス

    見つかりません

Leave a Reply