我正在尝试在python 2.7.6中格式化一堆字符串。在出现unicode标志之前,一切正常。这个简短的例子说明了我的问题:
a = 'ö'
b = 'd'
c = 'e'
print('{:2}{:2}{:2}').format(a, b, c)
结果是:
öd e
但它应该是:
öd e
尝试了很多编码、解码、unicodedata.normalize的东西,但似乎都不起作用。有人知道我做错了什么吗?谢谢你的帮助,请原谅我英语不好。Greetz,
BigZ
这对你有用吗?
>>> a = 'ö'
>>> b = 'd'
>>> c = 'e'
>>> print(u'{:2}{:2}{:2}'.format(a.decode('utf8'), b, c))
ö d e
这假设您的数据是utf8编码的。请注意,格式字符串是unicode。
此外,这在Python3中似乎不是问题。