如何检查Python中的字符串仅包含ASCII字符?像露比的ascii_only?
我想知道从文件读取的字符串特定数据是否在ascii中
在Python 3.7中添加了可以实现您想要的功能的方法:
str
,bytes
和bytearray
获得了对新isascii()
方法的支持,该新方法可用于测试字符串或字节是否仅包含ASCII字符。
否则:
>>> all(ord(char) < 128 for char in 'string')
>>> True
>>> all(ord(char) < 128 for char in 'строка')
>>> False
另一个版本:
>>> def is_ascii(text):
if isinstance(text, unicode):
try:
text.encode('ascii')
except UnicodeEncodeError:
return False
else:
try:
text.decode('ascii')
except UnicodeDecodeError:
return False
return True
...
>>> is_ascii('text')
>>> True
>>> is_ascii(u'text')
>>> True
>>> is_ascii(u'text-строка')
>>> False
>>> is_ascii('text-строка')
>>> False
>>> is_ascii(u'text-строка'.encode('utf-8'))
>>> False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句