blob: 47cd245f5436a161d7a079562637693a6a9dbff9 [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())