1. 程式人生 > >python 判斷是否為中文

python 判斷是否為中文

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