HTTP のContent-Encoding
ヘッダーは、データ自体が HTTP の外部でエンコードされる方法ではなく、HTTP メッセージ自体の内部でデータがエンコードされる方法にのみ適用されます。あなたの例にはContent-Encoding
ヘッダーが存在しないため、HTTP はデータをエンコードしておらず、生データをそのまま提供しています。
HTTP のContent-Type
ヘッダーがの場合application/octet-stream
、つまり、データ (存在するContent-Encoding
場合は に基づいてデコードした後) が生の 8 ビット データであることを意味し、送信者はデータの実際の型が何であるかを知りません。データが実際に何を表しているかをより意味のあるものContent-Type
に伝えることができない場合、データが本来あるべきものを他の手段で知っていない限り、生データを分析して、それが何であるかについて知識に基づいた推測を行うしかありません。
通常、バイナリデータ形式には、データが何であるかを識別するためにデータの先頭にヘッダー/署名があるため、そこから始めることができます。
データ型を特定できるまで、どのバイトがどの種類の値を表しているか、マルチバイト値にどのエンディアンが使用されているかなどを知ることはできません。それを処理します。