Pythonstring中的前缀是什么?

像:

u'Hello' 

我的猜测是它表示“Unicode”,这是正确的吗?

如果是这样,那么什么时候有空?

你是对的,见3.1.3。 Unicodestring

Python 2.0以来就是这样的语法。

u'Some String'的u表示您的string是一个Unicodestring

问:我正处于一个可怕的,可怕的匆忙之中,我从Googlesearch登陆。 我试图把这个数据写到一个文件中,我得到一个错误,我需要最简单的,最可能有缺陷的解决scheme。

答:你绝对应该阅读Joel的绝对最低软件开发人员,积极地了解Unicode和字符集(无借口!)关于字符集的文章。

问:没有时间码请

A:好的。 尝试str('Some String')'Some String'.encode('ascii', 'ignore') 。 但是你应该真的阅读一些关于转换Unicodestring的答案和讨论,以及这个优秀的,优秀的字符编码入门。

我的猜测是它表示“Unicode”,这是正确的吗?

是。

如果是这样,那么什么时候有空?

Python 2.x.

(在Python 3.x中,string默认使用Unicode,不需要u前缀。)

以下应该有所帮助:

http://docs.python.org/library/functions.html#unicode

http://www.amk.ca/python/howto/unicode (如果您已经熟悉Unicode原则, 请跳至“Python的Unicode支持”)

所有用于人类的string都应该使用u“”。

我发现,在处理Pythonstring时,以下思维模式有很大的帮助: 所有的 Python清单string应该使用u""语法。 ""语法只适用于字节数组。

在开始之前,让我解释一下。 大多数Python程序开始时使用""作为string。 但是,他们需要支持Internet上的文档,所以他们开始使用"".decode ,突然之间,他们在解码这个和那个时候都会遇到exception,这一切都是因为使用了string。 在这种情况下,Unicode的行为就像病毒一样,会造成严重破坏。

但是,如果你遵循我的规则,你将不会有这种感染(因为你已经被感染)。

这是Unicode。

只要把variables之间的str() ,它会正常工作。

但是如果你有两个列表如下:

 a = ['co32','co36'] b = [u'co32',u'co36'] 

如果你检查set(a)==set(b) ,它将会是False,但是如果你这样做:

 b = str(b) set(a)==set(b) 

现在,结果将是真实的。