GB2312/GBK/Big5

python涓埇鍙栫綉椤垫槸鎬绘槸閬囧埌涓枃缂栫爜闂鎬荤粨濡備笅;

1.濡備綍鍒ゆ柇涓�娈垫枃瀛�(缃戦〉)鐨勭紪鐮佹牸寮�
2.涓枃缂栫爜鐨勭绫诲拰鍖哄埆
3.杞崲鏃舵敞鎰忎簨椤�.

1.濡備綍鍒ゆ柇涓�娈垫枃瀛�(缃戦〉)鐨勭紪鐮佹牸寮�

1.1 鐩存帴鏌ョ湅缃戦〉婧愮爜鏄剧ず(鏈夋椂涓嶅お鍑嗙‘)
鎵撳紑瀵瑰簲缃戦〉鐩存帴鏌ョ湅椤甸潰婧愭枃浠�,鍦╤tml鐨刪ead澶撮儴, charset灞炴��

  

1.2 浣跨敤 chatdet 妯″潡(python绗笁鏂规ā鍧�)

import chardet
f = open('file','r')
fencoding=chardet.detect(f.read())
print fencing
>>>fencoding杈撳嚭鏍煎紡 {'confidence': 0.96630842899499614, 'encoding': 'GB2312'}
2. 涓枃缂栫爜鐨勭绫诲拰鍖哄埆

姹夊瓧缂栫爜涓幇鍦ㄤ富瑕佺敤鍒扮殑鏈変笁绫伙紝鍖呮嫭GBK锛孏B2312鍜孊ig5銆�

1銆丟B2312鍙堢О鍥芥爣鐮侊紝鐢卞浗瀹舵爣鍑嗘�诲眬鍙戝竷锛�1981骞�5鏈�1鏃ュ疄鏂斤紝閫氳浜庡ぇ闄嗐�傛柊鍔犲潯绛夊湴涔熶娇鐢ㄦ缂栫爜銆傚畠鏄竴涓畝鍖栧瓧鐨勭紪鐮佽鑼冿紝褰撶劧涔熷寘鎷叾浠栫殑绗﹀彿銆佸瓧姣嶃�佹棩鏂囧亣鍚嶇瓑锛屽叡7445涓浘褰㈠瓧绗︼紝鍏朵腑姹夊瓧鍗�6763涓�傛垜浠钩鏃惰6768涓眽瀛楋紝瀹為檯涓婇噷杈规湁5涓紪鐮佷负绌虹櫧锛屾墍浠ユ�诲叡鏈�6763涓眽瀛椼��
GB2312瑙勫畾鈥滃浠绘剰涓�涓浘褰㈠瓧绗﹂兘閲囩敤涓や釜瀛楄妭琛ㄧず锛屾瘡涓瓧鑺傚潎閲囩敤涓冧綅缂栫爜琛ㄧず鈥濓紝涔犳儻涓婄О绗竴涓瓧鑺備负鈥滈珮瀛楄妭鈥濓紝绗簩涓瓧鑺備负鈥滀綆瀛楄妭鈥濄�侴B2312涓眽瀛楃殑缂栫爜鑼冨洿涓猴紝绗竴瀛楄妭0xB0-0xF7(瀵瑰簲鍗佽繘鍒朵负176-247)锛岀浜屼釜瀛楄妭0xA0-0xFE锛堝搴斿崄杩涘埗涓�160-254锛夈��
GB2312灏嗕唬鐮佽〃鍒嗕负94涓尯锛屽搴旂涓�瀛楄妭锛�0xa1-0xfe锛夛紱姣忎釜鍖�94涓綅锛�0xa1-0xfe锛夛紝瀵瑰簲绗簩瀛楄妭锛屼袱涓瓧鑺傜殑鍊煎垎鍒负鍖哄彿鍊煎拰浣嶅彿鍊煎姞32锛�2OH锛夛紝鍥犳涔熺О涓哄尯浣嶇爜銆�01-09鍖轰负绗﹀彿銆佹暟瀛楀尯锛�16-87鍖轰负姹夊瓧鍖猴紙0xb0-0xf7锛夛紝10-15鍖恒��88-94鍖烘槸鏈夊緟杩涗竴姝ユ爣鍑嗗寲鐨勭┖鐧藉尯銆�

2銆丅ig5鍙堢О澶т簲鐮侊紝涓昏涓洪娓笌鍙版咕浣跨敤锛屽嵆鏄竴涓箒浣撳瓧缂栫爜銆傛瘡涓眽瀛楃敱涓や釜瀛楄妭鏋勬垚锛岀涓�涓瓧鑺傜殑鑼冨洿浠�0X81锛�0XFE锛堝嵆129-255锛夛紝鍏�126绉嶃�傜浜屼釜瀛楄妭鐨勮寖鍥翠笉杩炵画锛屽垎鍒负0X40锛�0X7E锛堝嵆64-126锛夛紝0XA1锛�0XFE锛堝嵆161-254锛夛紝鍏�157绉嶃��

3銆丟BK鏄疓B2312鐨勬墿灞曪紝鏄悜涓婂吋瀹圭殑锛屽洜姝B2312涓殑姹夊瓧鐨勭紪鐮佷笌GBK涓眽瀛楃殑鐩稿悓銆傚彟澶栵紝GBK涓繕鍖呭惈绻佷綋瀛楃殑缂栫爜锛屽畠涓嶣ig5缂栫爜涔嬮棿鐨勫叧绯绘垜杩樻病鏈夊紕鏄庣櫧锛屽ソ鍍忔槸涓嶄竴鑷寸殑銆侴BK涓瘡涓眽瀛椾粛鐒跺寘鍚袱涓瓧鑺傦紝绗竴涓瓧鑺傜殑鑼冨洿鏄�0x81-0xFE锛堝嵆129-254锛夛紝绗簩涓瓧鑺傜殑鑼冨洿鏄�0x40-0xFE锛堝嵆64-254锛夈�侴BK涓湁鐮佷綅23940涓紝鍖呭惈姹夊瓧21003涓��

3.杞崲鏃舵敞鎰忎簨椤�.

3.1.鍦ㄧ埇鍙栫綉椤佃繃绋嬩腑鍑虹幇閫氳繃鏂规硶1.2涓緭鍑虹殑鏄痝b2312,鐒惰��,浠嶆槸涔辩爜,褰撲娇鐢╣bk杩涜瑙g爜鏃剁紪鐮佹纭�,(缃戦〉涓紪鐮佷粎渚涘弬鑰�)

鍙傝��
http://www.360doc.com/content/14/1113/11/203028_424768594.shtml

你可能感兴趣的:(GB2312/GBK/Big5)