我知道python只使用utf8进行字符串编码,但如果我需要将数据发送到非unicode的旧应用程序,并且只支持windows代码页中包含的这些字符,如windows-1251 (辛酸)等等.因此,在这里,我想检测utf-8字符串是否包含任何不能由给定代码页表示的字符。
发布于 2013-12-03 14:32:46
有用于编码检测的库:https://pypi.python.org/pypi/chardet ( Python中的字符编码自动检测)。和你的浏览器一样聪明。(开放源码)
侦测到..。
文档中的示例:
>>> import urllib
>>> rawdata = urllib.urlopen('http://yahoo.co.jp/').read()
>>> import chardet
>>> chardet.detect(rawdata)
{'encoding': 'EUC-JP', 'confidence': 0.99}发布于 2013-12-03 14:26:21
其中,blah是您的字符串,ascii是您的编码:
blah = u'\uffff'
try:
blah.encode('ascii')
except UnicodeEncodeError:
# nope - can't do it...https://stackoverflow.com/questions/20353716
复制相似问题