CodeSOD:魔法のバイト ノート

CodeSOD:魔法のバイト

「マジックバイト」はファイルヘッダーの一般的な構成要素であり、ファイルの種類を識別するのに役立ちます。例えば、ビットマップファイルは「BM」で始まり、PGMファイルは「PN」で始まります。クリスターのチームはCADファイルの種類を操作するソフトウェアを開発しており、ファイルがCADファイルであるものの、特定のUFFファイルの種類ではないかどうかを識別する必要がありました。ファイルが0xabb0、0xabb1、または0xabb3で始まっていないことを確認する必要がありました。同僚が検証チェックを書きましたが、16進数を文字列と混同したため、比較が間違っていました。この間違いにより、0xABB0と0xabb0が異なるものとみなされる、新しい無意味な番号システムが作成されました。このコードサンプルは、0xABB0 < 0xABB1ならば0xABB0 < 0xabb1であるかどうかなど、大文字と小文字の16進数の関係に関する疑問を提起しています。また、16進数で小文字の3をどのように記述するかという疑問も提起しています。