maq*_*maq 3 python string ascii encode python-3.x
我有两个弦
eng = "Clash of Clans – Android Apps on Google Play"
rus = "Castle Clash: ????? ??? - Android Apps on Google Play"
Run Code Online (Sandbox Code Playgroud)
现在我想通过使用来检查字符串是否为英文Python 3。
我已经在这里阅读了Stackoverflow的答案,它对Python 2.x解决方案没有帮助,但是在评论中有人提到了使用
string.encode('ascii')
Run Code Online (Sandbox Code Playgroud)
使它起作用,Python 3.x但我的问题是,在两种情况下,它都会引发相同的UnicodeEncodeError异常!
所以现在我被困在这里,无法弄清楚如何使其工作!请指导我,否则我必须使用另一种方法来确定是否String在English!谢谢
与您链接到Salvador Dali的答案一样,您必须使用try-catch块来检查编码中的错误。
# -*- coding: utf-8 -*-
def isEnglish(s):
try:
s.encode('ascii')
except UnicodeEncodeError:
return False
else:
return True
Run Code Online (Sandbox Code Playgroud)
不过请注意,当我复制并粘贴您eng和rus字符串尝试使用它们时,它们都以形式出现False。重新输入英文的rety True,所以我不确定这是怎么回事。