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)
现在,结果将是真实的。