我正在使用Python的re
模块来审查一些文本。我必须审查ASCII和Unicode文本,所以如果文本是Unicode,我需要设置re
的Unicode标志。有没有办法可以检测文本是否为Unicode? p>
答案 0 :(得分:2)
ASCII是Unicode的一个子集,您不必做任何事情 - 除非您有理由怀疑您的文本既不是ASCII也不是Unicode(例如Windows CP 1252等),只需通过defaut使用Unicode。 / p>
答案 1 :(得分:0)
你可以使用
isinstance( s, unicode)
查看对象是否为unicode。但是,如果您将所有字符串都作为编码 unicode,那么您需要知道编码。对于可能成为噩梦的电子邮件处理应用程序。在过去,我已经使用了chardet。
答案 2 :(得分:0)
您可以尝试text.decode('utf-8')
,如果成功没有错误,则文本是UTF-8编码的Unicode(其中纯ASCII是子集)。如果它是其他任何东西,即代码页,它可能会引发异常。