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