{"success":true,"data":{"ext":"fh8","name":"FH8","description":"FH8 is a legacy FreeHand 8 drawing document format developed by Macromedia, later maintained by Adobe after its acquisition of FreeHand. It was used for vector illustrations, logos, page layouts, and other desktop publishing artwork in FreeHand 8 workflows. The format is now obsolete, and older files may require legacy software or conversion tools for access, but it is generally considered low risk when opened with modern converters.","mime":["image/x-freehand"],"risk_level":"Safe","signatures":[{"hex":"41 47 44 33","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"},{"name":"Wikipedia","url":"https://en.wikipedia.org/wiki/List_of_file_signatures"}]},{"hex":"41 47 44 32","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"41 47 44 34","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 30","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 31","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 32","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]}],"related":["fh","fh10","fh11","fh12","fh4","fh40"],"usage":{"python":"def is_fh8(file_path: str) -> bool:\n    \"\"\"Check if file is a valid FH8 by magic bytes.\"\"\"\n    signature = bytes([0x41, 0x47, 0x44, 0x33])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isFH8(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x41, 0x47, 0x44, 0x33]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsFH8(data []byte) bool {\n    signature := []byte{0x41, 0x47, 0x44, 0x33}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"},"category":"Images"}}