python3一个中文3个字符_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...
在python3中,str默認是unicode編碼
用 ord() 函數判斷單個字符的unicode編碼是否大于255即可。
一般來說,中文常用字的范圍是:[\u4e00-\u9fa5]
準確點判斷中文字符,可以這樣比較:
>>> X,Y = ['\u4e00','\u9fa5']
>>> X<='阿'<=Y
True
例子:
>>> a = "你好";b = "
你好">>> def isAllZh(s):
for c in s:
if not('\u4e00' <= c <= '\u9fa5'):
return False
return True
>>> isAllZh(a)
True
>>> isAllZh(b)
False
#或者用 all()
>>> all(map(lambda c:'\u4e00' <= c <= '\u9fa5',a))
True
>>> all(map(lambda c:'\u4e00' <= c <= '\u9fa5',b))
False
既然 @依云 提出了編碼范圍的問題,就再補充一些~
詳細的unicode分區信息可以參考這里:中日韓統一表意文字
樓主是問 判斷中文的算法;很簡單,就是比較字符編碼的大小,落在cjk文字范圍內,就是中文。
出了[\u4e00-\u9fa5]范圍的漢字,多數是生僻字、異體字;如果很在意的話,可以參照下表,多加幾個判斷條件即可。
中文在unicode里的分區碼段:
1、中日韓擴展部首[2E80-2EFF](116字)
2、康熙字典部首[2F00-2FDF](214字)
3、表意文字描述字符[2FF0-2FFF](12字)
4、中日韓筆畫[31C0-31EF](37字)
5、中日韓統一表意文字擴展A區[3400-4DBF](6582字)
6、中日韓統一表意文字[4E00-9FFF](20940字)
7、私用區[E000-F8FF](896字)
8、中日韓兼容表意文字[F900-FAFF](471字)
9、中日韓統一表意文字擴展B區[20000-2A6DF](42711字)
10、中日韓統一表意文字擴展C區[2A700-2B73F](4149字)
11、中日韓統一表意文字擴展D區[2B740-2B81F](222字)
12、中日韓統一表意文字增補集[2F800-2FA1F](542字)
13、增補私用A區[F0000-FFFFF](73字)
總結
以上是生活随笔為你收集整理的python3一个中文3个字符_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长虹即将发布中国首款 8K 高刷 Min
- 下一篇: python完全支持面向对象编程_pyt