mieki256's diary



2007/05/20() [n年前の日記]

#8 [pc] _ファイルの先頭8バイトだけで画像のフォーマットを調べる

3バイト目と4バイト目の 0x0D 0x0A は、Windowsの改行コードになっています。ファイルがテキストモードで転送されていると、画像データの中のこの並びがすべてそれぞれのプラットフォームに合わせて変わってしまい、データが壊れてしまいます。この2バイトが 0x0D 0x0A になっているかを調べることで、改行コードの変換が行われて転送時にデータが壊れていないかがわかります。

4バイト目の0x1Aは、MSDOSの元になったCP/Mのファイルシステムでファイルの終端を示していた値です。DOSプロンプトでTYPEコマンドを使ってファイル中身を表示すると、このコードがでできた場所をファイルの終端とみなしてそれ以降は表示されません。これはかなり実用性が低くてマニアックです。

5バイト目の 0x0A はUNIX系システムの改行コードです。3-4バイト目の 0x0D 0x0A 同様、改行コードが変換されていないかどうかを調べるためにあります。

ファイルの先頭8バイトだけで画像のフォーマットを調べる - bits and bytes より

感動。PNGめ…やりおるわい…。(via ネタ元失念)

以上です。

過去ログ表示

Prev - 2007/05 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project