def encodingFromContents( contents ):
if( len(contents) > len(codecs.BOM_UTF8)
and contents[0:len(codecs.BOM_UTF8)] == codecs.BOM_UTF8 ):
encoding = 'utf-8'
elif( len(contents) > len(codecs.BOM_UTF16_LE)
and contents[0:len(codecs.BOM_UTF16_LE)] in [codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE]):
encoding = 'utf-16'
elif( len(contents) > len(codecs.BOM_UTF32_LE)
and contents[0:len(codecs.BOM_UTF32_LE)] in [codecs.BOM_UTF32_LE, codecs.BOM_UTF32_BE]):
encoding = 'utf-32'
else:
encoding = locale.getdefaultlocale()[1]
# Mac says mac-roman when utf-8 is what is required
if encoding == 'mac-roman':
encoding = 'utf-8'
if encoding is None:
encoding = 'iso8859-1'
return encoding
评论列表
文章目录