Blue Sky DOCX
Blue Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.docxecdeb8876f29896e26ab2291c275b7dda500eb769669fbdaa5b3e16123eb7bb0Document
Microsoft Wordで広く使われるOffice Open XML文書。実体はZIPパッケージで、word/document.xmlなどを含みます。
50 4B 03 04 PK..SIGNATURE = bytes.fromhex("504b0304")
OFFSET = 0
def is_docx(path: str) -> bool:
with open(path, "rb") as f:
f.seek(OFFSET)
head = f.read(len(SIGNATURE))
return head == SIGNATUREconst SIGNATURE = [0x50, 0x4b, 0x03, 0x04];
const OFFSET = 0;
// bytes: a Uint8Array / Buffer holding the start of the file
export function isDocx(bytes) {
return SIGNATURE.every((byte, i) => bytes[OFFSET + i] === byte);
}package fileid
import "bytes"
var isdocxSignature = []byte{0x50, 0x4b, 0x03, 0x04}
const isdocxOffset = 0
func IsDocx(b []byte) bool {
end := isdocxOffset + len(isdocxSignature)
if len(b) < end {
return false
}
return bytes.Equal(b[isdocxOffset:end], isdocxSignature)
}const SIGNATURE: &[u8] = &[0x50, 0x4b, 0x03, 0x04];
const OFFSET: usize = 0;
fn is_docx(bytes: &[u8]) -> bool {
bytes.get(OFFSET..OFFSET + SIGNATURE.len()) == Some(SIGNATURE)
}<?php
$signature = "\x50\x4b\x03\x04";
$offset = 0;
function is_docx(string $bytes): bool {
global $signature, $offset;
return substr($bytes, $offset, strlen($signature)) === $signature;
}Word Open XML Document はデータ交換、インポート/エクスポート、パーサのテスト、検証ワークフローで使われます。エンコーディング・区切り文字・バージョン・コンテナ構造が実装の挙動を変えることがあります。
文書形式はスクリプト・添付・マクロ・外部参照を含むことがあります。プレビューや変換はサンドボックス化し、信頼できないファイルを直接開かないでください。
11 個のサンプルで、先頭バイト判定・パーサのエラー・アップロード上限・ダウンロード挙動をテストできます。
Blue Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
01-blue-sky.docxecdeb8876f29896e26ab2291c275b7dda500eb769669fbdaa5b3e16123eb7bb0Flower Garden DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
02-flower-garden.docxaa9203da7c21b43c532ac66622a34ce7952efbc62fb49cab0cf7d53f685c276dNavy Blue Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
03-navy-blue-sky.docx165ba457ca04d0963c0f8779cc1aafb8eca9dd87a5c996d1c0a62e6f845248feNature of the Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
04-nature-sky.docx8a5ba5754bee861941c74d490604a26e53a156097574b4492fbd62e20c40e8b6Sky Landscape DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
05-sky-landscape.docxcb45942888fa84fe6c1f5d06023f317dcee8a0271ba333947a1da78aef77b1bfStarry Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
06-starry-sky.docxfebd4887b583dfc0ab0f253fb2056ec0f6a16e7fc44f616ba35d926e0185c89bBlue Night Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
07-blue-night-sky.docx1663e4dc8e2ab1f0f6edb16ff0bbd55fd42abbabfa0bbb78e31e4e9e8333beccHibiscus Flower DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
08-hibiscus-flower.docxa77a5e581defd26e8dce364ee2de805ae26e5da346c76a5f651c8b51c2774111Arctic Sky DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
09-arctic-sky.docx2cd4ca0ad25fb60fca45a22f258c6192c86ddb0c692f2e8456774aa7d877cbb7Sunset Rays DOCX は のサンプル(Wikimedia Commons を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
10-sunset-rays.docxc84d64f4acb2619f46470635e9297e70176651cfbb11506c698bee85d03cbb03NASA Blue Marble DOCX は のサンプル(NASA Image and Video Library を基にしています)。ダウンロード・パーサ・プレビュー・ファイル種別判定のテストに使えます。
nasa-blue-marble-2012-east.docxb2cdfa34dc8f4c1c102ade1829c7cb322bbd2c6e4fa5358c9c44f5ed992abd27Word Open XML Document ファイルはバイトシグネチャ 50 4B 03 04 ("PK..") で始まります。拡張子に頼らず、この先頭バイトを読み取って形式を判定してください。
Word Open XML Document のMIMEタイプは application/vnd.openxmlformats-officedocument.wordprocessingml.document です。
Word Open XML Document ファイルは .docx 拡張子を使います。拡張子は慣習にすぎず中身を保証しないため、シグネチャや構造のチェックと組み合わせてください。