像:
u'Hello'
我的猜测是它表示“ Unicode”,对吗?
如果可以,那么什么时候可用?
像:
u'Hello'
我的猜测是它表示“ Unicode”,对吗?
如果可以,那么什么时候可用?
Answers:
您说得对,请参阅3.1.3。Unicode字符串。
自Python 2.0以来就是语法。
Python 3使它们多余,因为默认的字符串类型是Unicode。从3.0到3.2版本删除了它们,但是在3.3+中重新添加了它们,以便与Python 2兼容,以辅助2到3过渡。
ur"string"
)在Python 2有效的,但它是在Python 3遗憾的是无效的语法
u in u'Some String'
表示您的字符串是Unicode字符串。
问:我很着急,很可怕,我从Google搜索登陆了。我正在尝试将此数据写入文件,但出现错误,并且此刻我需要最简单的,可能有缺陷的解决方案。
答:您应该真正阅读Joel的“ 绝对最低要求”,每个软件开发人员绝对,肯定必须了解有关字符集的Unicode和字符集(无借口!)文章。
问:请不要输入时间码
A:很好。尝试str('Some String')
或'Some String'.encode('ascii', 'ignore')
。但是,你真的应该读一些答案和讨论上转换Unicode字符串和这个优秀,卓越,底漆上的字符编码。
我的猜测是它表示“ Unicode”,对吗?
是。
如果可以,那么什么时候可用?
Python2.x。
在Python 3.x中,默认情况下,字符串使用Unicode,并且不需要u
前缀。注意:在Python 3.0-3.2中,u是语法错误。在Python 3.3以上版本中,再次简化编写2/3兼容应用程序是合法的。
u
前缀甚至是Python 3中的语法错误。
six.text_type()
各处使用仍希望使用3的(希望是微不足道的)人数。[012] -至少信息在那里,您可以选择。
供人类使用的所有字符串都应使用u“”。
我发现以下心态在处理Python字符串时有很大帮助:所有 Python清单字符串都应使用u""
语法。该""
语法仅适用于字节数组。
在扑打开始之前,让我解释一下。大多数Python程序开始于使用""
for字符串。但是随后他们需要从Internet上支持文档,因此他们开始使用它"".decode
,突然之间,到处都有关于解码该内容的异常-都是由于使用""
了字符串。在这种情况下,Unicode的确像病毒一样,将造成严重破坏。
但是,如果您遵循我的规则,就不会感染这种病毒(因为您已经被感染了)。
bash -c "echo Shouldn\\'t you use b\\\"...\\\" for byte arrays?"
u""
。
它是Unicode。
只需将变量放在之间str()
,它将正常工作。
但是,如果您有两个类似以下的列表:
a = ['co32','co36']
b = [u'co32',u'co36']
如果选中set(a)==set(b)
,它将显示为False,但是如果执行以下操作:
b = str(b)
set(a)==set(b)
现在,结果将为True。
str()
或u'€'.encode()
)进行编码。如果字符串包含非ASCII,则用户将收到UnicodeEncodeException。
b = str(b)
仅给出repr()
列表的字符串,即b = "[u'co32', u'co36']"
。然后set(a)==set(b) = False