FTS
application/fits
Magic Bytes
Offset: 0
53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54
The Flexible Image Transport System (FITS) is an open standard digital file format originally developed by NASA and currently maintained by the IAU FITS Working Group. It serves as the primary standard within the astronomical community for transporting, analyzing, and archiving multidimensional scientific data arrays and photometric imagery. Established in 1981, the format is renowned for its strict backward compatibility and is considered safe as it does not support active executable content or macros.
Validation Code
How to validate .fts files in Python
Python
def is_fts(file_path: str) -> bool:
"""Check if file is a valid FTS by magic bytes."""
signature = bytes([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54])
with open(file_path, "rb") as f:
return f.read(30) == signature
How to validate .fts files in Node.js
Node.js
function isFTS(buffer: Buffer): boolean {
const signature = Buffer.from([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54]);
return buffer.subarray(0, 30).equals(signature);
}
Go
func IsFTS(data []byte) bool {
signature := []byte{0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54}
if len(data) < 30 {
return false
}
return bytes.Equal(data[:30], signature)
}
API Endpoint
GET
/api/v1/fts
curl https://filesignature.org/api/v1/fts