python 判斷是否為中文
阿新 • • 發佈:2019-02-03
python在執行程式碼過程是不知道這個字元是什麼意思的、是否是中文,而
是把所有程式碼翻譯成二進位制也就是000111這種形式,機器可以看懂的語言。
也就是在計算機中所有的字元都是有數字來表示的。漢字也是有數字表示的,
Unicdoe4E00~9FFF表示中文,所以如果一個字元的utf-8編碼在這個區間內,就
說明它是中文。
程式碼:
def is_Chinese(word): for ch in word: if '\u4e00' <= ch <= '\u9fff': return True return False
中文編碼對應表
GBK UTF16 UTF8 漢字
D2BB 4E00 E4 B8 80 一
B6A1 4E01 E4 B8 81 丁
C6DF 4E03 E4 B8 83 七
CDF2 4E07 E4 B8 87 萬
D5C9 4E08 E4 B8 88 丈
C8FD 4E09 E4 B8 89 三
C9CF 4E0A E4 B8 8A 上
CFC2 4E0B E4 B8 8B 下
D8A2 4E0C E4 B8 8C 丌
#-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') def check_contain_chinese(check_str): for ch in check_str.decode('utf-8'): if u'\u4e00' <= ch <= u'\u9fff': return True return False if __name__ == "__main__": print check_contain_chinese('中國') print check_contain_chinese('xxx') print check_contain_chinese('xx中國') 結果: True False True