我一直有一些unicode问题并且意识到(有点太晚了,不可否认)在字符串中添加'u'前缀可以解决问题:
打印(u'No \ xebl')
诺尔
但是,我正在使用很多字符串和字符串列表,所以我需要为每个字符串添加该前缀(例如,我想将“u”添加到“string”,string ='No \ xebl “)。我尝试过不同的方法:
打印“你”+“'”+字符串
打印unicode(字符串)
打印“你”+字符串
print repr(unicode(m))#这样做会添加前缀'u',但会在字符串中添加额外的“\”,不再解决问题
u'No \ xebl'
列表继续,但你得到了要点。基本上,我想知道是否有一种方法与print(u'No \ xebl')完全相同,但是使用任何变量字符串而不必实际写下字符串。
任何建议都将不胜感激!
答案 0 :(得分:2)
\xeb
在ISO 8859-1中对ë
进行了编码。要从字节转换为Unicode字符串,请使用.decode()
方法。
string.decode('iso-8859-1')
话虽如此:这些数据来自哪里?你知道它总是ISO 8859-1,还是可能编码不同?为什么它以字节为单位而不是Unicode字符串?这些问题的答案可能会提供更好的解决方案。
答案 1 :(得分:-1)
执行此操作
tempvariabel = u''
realvariabel = tempvariabel + somevariabelcontainUnicode
要打印时返回错误,但可以在文件或数据库上写入