3
ÝPfË ã @ sj d dl Z d dlZd dlZe jdfe jdfe jdfe jdfe jdfe jdfe j dfgZ
ejd ƒZd
d„ Z
dS )é NÚutf8Úutf16zutf16-bezutf16-leÚutf32zutf32-bezutf32-les coding[:=]\s*([-\w.]+)c C sš x0t D ](\}}| j|ƒr| t|ƒd… j|ƒS qW xV| jdƒdd… D ]@}|dd… dkrFtj|ƒrFtj|ƒjƒ d jdƒ}| j|ƒS qFW | jtj dƒƒS ) zŠCheck a bytes string for a BOM to correctly detect the encoding
Fallback to locale.getpreferredencoding(False) like open() on Python3Nó
é r é ó #ÚasciiF)
ÚBOMSÚ
startswithÚlenÚdecodeÚsplitÚENCODING_REÚsearchÚgroupsÚlocaleÚgetpreferredencoding)ÚdataZbomÚencodingÚline© r ú/usr/lib/python3.6/encoding.pyÚauto_decode s
r )Úcodecsr ÚreÚBOM_UTF8Ú BOM_UTF16ÚBOM_UTF16_BEÚBOM_UTF16_LEÚ BOM_UTF32ÚBOM_UTF32_BEÚBOM_UTF32_LEr
Úcompiler r r r r r Ú