Blue Sky HTML
Blue Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.html3da0e54ffe7186921d2a037219ac03b1327b7577620940026310443163313586Web
Webページの標準マークアップ形式。多くのHTML文書は<!doctype html>や<html>から始まります。
3C 21 64 6F 63 74 79 70 65 <!doctypeSIGNATURE = bytes.fromhex("3c21646f6374797065")
OFFSET = 0
def is_html(path: str) -> bool:
with open(path, "rb") as f:
f.seek(OFFSET)
head = f.read(len(SIGNATURE))
return head == SIGNATUREconst SIGNATURE = [0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65];
const OFFSET = 0;
// bytes: a Uint8Array / Buffer holding the start of the file
export function isHtml(bytes) {
return SIGNATURE.every((byte, i) => bytes[OFFSET + i] === byte);
}package fileid
import "bytes"
var ishtmlSignature = []byte{0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65}
const ishtmlOffset = 0
func IsHtml(b []byte) bool {
end := ishtmlOffset + len(ishtmlSignature)
if len(b) < end {
return false
}
return bytes.Equal(b[ishtmlOffset:end], ishtmlSignature)
}const SIGNATURE: &[u8] = &[0x3c, 0x21, 0x64, 0x6f, 0x63, 0x74, 0x79, 0x70, 0x65];
const OFFSET: usize = 0;
fn is_html(bytes: &[u8]) -> bool {
bytes.get(OFFSET..OFFSET + SIGNATURE.len()) == Some(SIGNATURE)
}<?php
$signature = "\x3c\x21\x64\x6f\x63\x74\x79\x70\x65";
$offset = 0;
function is_html(string $bytes): bool {
global $signature, $offset;
return substr($bytes, $offset, strlen($signature)) === $signature;
}HyperText Markup Language はデータ交換、インポート/エクスポート、パーサのテスト、検証ワークフローで使われます。エンコーディング・区切り文字・バージョン・コンテナ構造が実装の挙動を変えることがあります。
形式が判定できたからといって、信頼できない入力が安全とは限りません。パーサ例外・巨大ファイル・想定外のエンコーディング・外部参照を考慮してください。
11 個のサンプルで、先頭バイト判定・パーサのエラー・アップロード上限・ダウンロード挙動をテストできます。
Blue Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.html3da0e54ffe7186921d2a037219ac03b1327b7577620940026310443163313586Flower Garden HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
02-flower-garden.html15223cb4d9e7c636861b0b5962036ead59ae9cddc063a0107e6023659047881fNavy Blue Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
03-navy-blue-sky.html1744f855eb8576d2a4214de31d8e8d3bfdd10a74a859d59fa9beef5ac5ddba5bNature of the Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
04-nature-sky.htmlb35642842f3519ebfeff7568034fbda82b01eaa8c9a01b09f7469d1c52fe348bSky Landscape HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
05-sky-landscape.htmld50339721c2fbfcc006ae76b198de485d019103bb70bd58fbfdef43f224fd6c8Starry Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
06-starry-sky.html2a154d8e8e02c49a0483645749ee5d7078f143a9d66ceff82aeaf2c29eda3e08Blue Night Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
07-blue-night-sky.htmlc2587341751a1e1e84dc0faf4faf3fac8a7b299635aeabc79ef38a7381f0d682Hibiscus Flower HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
08-hibiscus-flower.html6e078c2a2cff9855876aa42f18abdfb7113a8455794c9a44aabaa9af58ff6d2cArctic Sky HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
09-arctic-sky.html68603539b4b96df6f2131a7cc875e66f8b91cae9a7dba52202429c5efb52798cSunset Rays HTML は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
10-sunset-rays.html4637d3e25d6f3da6144f5d06afe94380772515c4c57080c1d77232a6335af455NASA Blue Marble HTML は のサンプル(NASA Image and Video Library を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
nasa-blue-marble-2012-east.htmlf7cee2a714ce3bf7b25a8dbeb549df87ffbe6b43accc032186bca5cc84e6fcc9HyperText Markup Language ファイルはバイトシグネチャ 3C 21 64 6F 63 74 79 70 65 ("<!doctype") で始まります。拡張子に頼らず、この先頭バイトを読み取って形式を判定してください。
HyperText Markup Language のMIMEタイプは text/html です。
HyperText Markup Language ファイルは .html, .htm 拡張子を使います。拡張子は慣習にすぎず中身を保証しないため、シグネチャや構造のチェックと組み合わせてください。