grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a çÂ=bÃ$ã@sØddlmZmZmZddlmZmZmZddlm Z m Z m Z ddl m Z mZmZddlmZmZmZGdd„deƒZGdd „d eƒZGd d „d eƒZGd d „d eƒZGdd„deƒZGdd„deƒZGdd„deƒZdS)é)ÚEUCTW_CHAR_TO_FREQ_ORDERÚEUCTW_TABLE_SIZEÚ EUCTW_TYPICAL_DISTRIBUTION_RATIO)ÚEUCKR_CHAR_TO_FREQ_ORDERÚEUCKR_TABLE_SIZEÚ EUCKR_TYPICAL_DISTRIBUTION_RATIO)ÚGB2312_CHAR_TO_FREQ_ORDERÚGB2312_TABLE_SIZEÚ!GB2312_TYPICAL_DISTRIBUTION_RATIO)ÚBIG5_CHAR_TO_FREQ_ORDERÚBIG5_TABLE_SIZEÚBIG5_TYPICAL_DISTRIBUTION_RATIO)ÚJIS_CHAR_TO_FREQ_ORDERÚJIS_TABLE_SIZEÚJIS_TYPICAL_DISTRIBUTION_RATIOc@sLeZdZdZdZdZdZdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dS)ÚCharDistributionAnalysisig®Gáz®ï?g{®Gáz„?écCs0d|_d|_d|_d|_d|_d|_| ¡dS©N)Ú_char_to_freq_orderÚ _table_sizeÚtypical_distribution_ratioÚ_doneÚ _total_charsÚ _freq_charsÚreset©Úself©rú|d|d}}|dkr6|dkr6d|d|dSdSdS)Nr rr>r8r7r"r©rr.r:Ú second_charrrrr#žsz$GB2312DistributionAnalysis.get_orderr;rrr4rr?—s r?cs$eZdZ‡fdd„Zdd„Z‡ZS)ÚBig5DistributionAnalysiscs$tt|ƒ ¡t|_t|_t|_dSr) r3rBrr rr rr rrr4rrr«sz!Big5DistributionAnalysis.__init__cCsX|d|d}}|dkrP|dkr:d|d|ddSd|d|dSndSdS) Nr ré¤r8é�é?é@r"rr@rrrr#±s z"Big5DistributionAnalysis.get_orderr;rrr4rrBªs rBcs$eZdZ‡fdd„Zdd„Z‡ZS)ÚSJISDistributionAnalysiscs$tt|ƒ ¡t|_t|_t|_dSr) r3rGrrrrrrrrr4rrrÁsz!SJISDistributionAnalysis.__init__cCsr|d|d}}|dkr0|dkr0d|d}n&|dkrR|dkrRd|dd}nd S||d }|d krnd }|S) Nr ré�éŸé¼éàéïér"rFér)rr.r:rAr%rrrr#Çs z"SJISDistributionAnalysis.get_orderr;rrr4rrGÀs rGcs$eZdZ‡fdd„Zdd„Z‡ZS)ÚEUCJPDistributionAnalysiscs$tt|ƒ ¡t|_t|_t|_dSr) r3rOrrrrrrrrr4rrrÚsz"EUCJPDistributionAnalysis.__init__cCs0|d}|dkr(d|d|ddSdSdS)Nr é r7r8rr"r)rr.r$rrrr#àsz#EUCJPDistributionAnalysis.get_orderr;rrr4rrOÙs rON)Z euctwfreqrrrZ euckrfreqrrrZ gb2312freqrr r Zbig5freqr r r ZjisfreqrrrÚobjectrr2r=r?rBrGrOrrrrÚsI