blob: 135a0c007c8f6b1901894d2cb4e0499335e2d14d [file] [log] [blame]
#!/usr/bin/env python
import sys
def detectBOM(inFileName):
file = open(inFileName, 'r')
file.seek(0)
head = map(ord, file.read(4))
if head == [0x00, 0x00, 0xFE, 0xFF]:
return "utf_32_be"
elif head == [0xFF, 0xFE, 0x00, 0x00]:
return "utf_32_le"
elif head[:2] == [0xFE, 0xFF]:
return "utf_16_be"
elif head[:2] == [0xFF, 0xFE]:
return "utf_16_le"
elif head[:3] == [0xEF, 0xBB, 0xBF]:
return "utf_8"
else:
return "unknown"
def main(argv=None):
if argv is None:
argv = sys.argv
BOM = detectBOM(argv[1])
if BOM != "utf_8":
return 0
else:
print ('Detected byte-order mark (%s) in file "%s".' % (BOM, argv[1]))
return 1
if __name__ == '__main__':
sys.exit(main())