如何在Python中以编程方式创建Unicode字符串?

时间:2015-10-19 15:13:41

标签: python unicode python-unicode

我正在编写一个垃圾邮件过滤器,查看被禁词的列表。我试图创建Unicode字符串,我可以使用unidecode将其转换为无重音字符串。

要在REPL中创建Unicode字符串,我可以输入

s= u'ShowTîtžForBłackDIçk'

但是如果我事先不知道字符串怎么办呢?我需要应用" u"运算符以编程方式运行。

我已经尝试过了     S = unicode的(的UnicodeString)

但是这个函数需要我说明一个编码,我不知道正在使用什么底层编码。我正在使用iPython(Jupyter)笔记本,它可以在其Web界面中呈现Unicode

2 个答案:

答案 0 :(得分:0)

使用Python的文本阅读器打开您的文件。你必须定义编码(它不会猜!):

with io.open("myspamwords.txt", "r", encoding="utf-8") as mywords:
    for line in mywords:
        print line.strip()
        print type(line)

此代码将打印每一行,并应将类型显示为Unicode。

如果结果未正确解码,请将encoding更改为相应的字符编码。

答案 1 :(得分:-3)

我对此解决方案没有错误

#!/usr/bin/env python
# -*- coding: utf-8 -*

myString= 'ShowTîtžForBłackDIçk'
s = u"%s" % myString

print s