1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
U
L±d¦ã@shddlmZmZddlmZddlmZddlmZm    Z    m
Z
ddl m Z m Z mZmZGdd„deƒZd    S)
é)ÚOptionalÚUnioné)Ú CharSetProber)ÚCodingStateMachine)ÚLanguageFilterÚ MachineStateÚ ProbingState)Ú HZ_SM_MODELÚISO2022CN_SM_MODELÚISO2022JP_SM_MODELÚISO2022KR_SM_MODELcs’eZdZdZejfeddœ‡fdd„ Zddœ‡fdd„ Zee    e
dœd    d
„ƒZ ee    e
dœd d „ƒZ e dœd d„Zeeefedœdd„Z‡ZS)ÚEscCharSetProberz¼
    This CharSetProber uses a "code scheme" approach for detecting encodings,
    whereby easily recognizable escape or shift sequences are relied on to
    identify these encodings.
    N)Ú lang_filterÚreturncsžtƒj|dg|_|jtj@r@|j ttƒ¡|j tt    ƒ¡|jtj
@r\|j tt ƒ¡|jtj @rx|j tt ƒ¡d|_d|_d|_tj|_| ¡dS)N)rr)ÚsuperÚ__init__Ú    coding_smrrÚCHINESE_SIMPLIFIEDÚappendrr
r ÚJAPANESEr ÚKOREANr Úactive_sm_countÚ_detected_charsetÚ_detected_languager    Ú    DETECTINGÚ_stateÚreset)Úselfr©Ú    __class__©úHd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\chardet/escprober.pyr0s   zEscCharSetProber.__init__)rcs@tƒ ¡|jD]}d|_| ¡qt|jƒ|_d|_d|_dS)NT)rrrÚactiveÚlenrrr)rrrr!r"r@s
 
 
 zEscCharSetProber.resetcCs|jS©N©r©rr!r!r"Ú charset_nameIszEscCharSetProber.charset_namecCs|jSr%)rr'r!r!r"ÚlanguageMszEscCharSetProber.languagecCs|jr
dSdS)Ng®Gáz®ï?gr&r'r!r!r"Úget_confidenceQszEscCharSetProber.get_confidence)Úbyte_strrcCs |D]”}|jD]ˆ}|jsq| |¡}|tjkrdd|_|jd8_|jdkr–tj|_|j    Sq|tj
krtj |_|  ¡|_ |j|_|j    Sqq|j    S)NFrr)rr#Ú
next_staterÚERRORrr    ÚNOT_MErÚstateÚITS_MEÚFOUND_ITÚget_coding_state_machinerr)r)rr+ÚcrÚ coding_stater!r!r"ÚfeedTs"
 
 
 
 
 
zEscCharSetProber.feed)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rÚNONErrÚpropertyrÚstrr(r)Úfloatr*rÚbytesÚ    bytearrayr    r5Ú __classcell__r!r!rr"r)s    rN)ÚtypingrrÚ charsetproberrÚcodingstatemachinerÚenumsrrr    Úescsmr
r r r rr!r!r!r"Ú<module>s