N3
text/plain
Magic Bytes
Offset: 0
54 68 69 73 20 69 73 20 54 65 58 2C
N3 is a TeX-related font or metadata specification format primarily associated with the TeX typesetting ecosystem originally established by Donald Knuth. It is utilized to store specific font characteristics or structural definitions required by the TeX engine during automated document preparation and technical publication. As a legacy plain-text format containing no executable components, it remains safe for archival purposes, though modern typesetting workflows have largely transitioned to newer standards.
Validation Code
How to validate .n3 files in Python
Python
def is_n3(file_path: str) -> bool:
"""Check if file is a valid N3 by magic bytes."""
signature = bytes([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C])
with open(file_path, "rb") as f:
return f.read(12) == signature
How to validate .n3 files in Node.js
Node.js
function isN3(buffer: Buffer): boolean {
const signature = Buffer.from([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C]);
return buffer.subarray(0, 12).equals(signature);
}
Go
func IsN3(data []byte) bool {
signature := []byte{0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C}
if len(data) < 12 {
return false
}
return bytes.Equal(data[:12], signature)
}
API Endpoint
GET
/api/v1/n3
curl https://filesignature.org/api/v1/n3