-1

我正在使用 Python 的re模块来审查一些文本。我必须审查 ASCII 和 Unicode 文本,所以如果文本是 Unicode,我需要设置re's Unicode 标志。有没有一种方法可以检测文本是否为 Unicode?

4

3 回答 3

2

ASCII 是 Unicode 的一个子集,您不必做任何事情——除非您有理由怀疑您的文本既不是 ASCII 也不是 Unicode(例如 Windows CP 1252 等),只需默认使用 Unicode。

于 2012-07-25T04:40:01.703 回答
0

你可以使用

 isinstance( s, unicode)

查看对象是否为 unicode。但是,如果您将所有字符串都作为编码的unicode,那么您需要知道编码。对于可能是一场噩梦的电子邮件处理应用程序。过去,我曾为此使用过chardet 。

于 2012-07-25T04:40:13.210 回答
0

您可以尝试text.decode('utf-8'),如果成功且没有错误,则文本是 UTF-8 编码的 Unicode(纯 ASCII 是其中的一个子集)。如果它是其他任何东西,即代码页,它可能会引发异常。

于 2012-07-25T04:41:07.293 回答