发布网友 发布时间:2022-04-24 01:18
共6个回答
热心网友 时间:2022-04-07 13:37
首先,在Python中字符串的表示是 用unicode编码。所以在做编码转换时,通常要以unicode作为中间编码。
decode的作用是将其他编码的字符串转换成unicode编码,比如 a.decode('utf-8'),表示将utf-8编码的字符串转换成unicode编码
encode的作用是将unicode编码的字符串转换成其他编码格式的字符串,比如b.encode('utf-8'),表示将unicode编码格式转换成utf-8编码格式的字符串
判断一个字符串中是否含有中文字符:
好了,有了以上知识,就可以很容易的解决这个问题了。这是代码
1 #-*- coding:utf-8 -*-
2
3 import sys
4 reload(sys)
5 sys.setdefaultencoding('utf8')
6
7 def check_contain_chinese(check_str):
8 for ch in check_str.decode('utf-8'):
9 if u'\u4e00' <= ch <= u'\u9fff':
10 return True
11 return False
12
13 if __name__ == "__main__":
14 print check_contain_chinese('中国')
15 print check_contain_chinese('xxx')
16 print check_contain_chinese('xx中国')
17
18 结果:
19 True
20 False
21 True
热心网友 时间:2022-04-07 14:55
def is_chinese(s):
if s >= u'\u4e00' and s<=u'\u9fa5':
return True
else:
return False
给你这个判断中文字符的函数,用到字符串上就可以了。
热心网友 时间:2022-04-07 16:29
1.输入一个字符串,随机生成S,不知道这个随机是什么意思,莫非要加密。 2.下面就简单了,把输入的字符串转换成列表,然后用in判断输入的X是不是在S列表中,在用列表方法remove移除就OK了 这个不是特别难吧!
热心网友 时间:2022-04-07 18:21
如果是GB码,可能是双字节GBK[0x81-0xfe][0x40-0xfe],也可能是四字节GB18030[0x81-0xfe][0x30-0x39][0x81-0xfe][0x30-0x39]。
汉字在Unicode中称作CJK 统一表意符号 (CJK Unified Ideographs),包括
reg=/^([\u+3400-\u+4dbf\u4e00-\u9fff\u+20000-\u3fffd\ue000-f8ff]{2,7})$/; //只能是中文,长度为2-7位
最后一项为PUA,参见百度百科【统一码】。
热心网友 时间:2022-04-07 20:29
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
热心网友 时间:2022-04-07 22:53
python3.x 以上已行不通