2012-07-30 123 views
0

我有一个python脚本,它输出的编码不正确的字符串value。我试过设置一个字符串s,其字符串与value相同,并且打印效果很好。我也打印了他们的类型,他们都是strings。 这是代码的样子:关于处理重音的python字符串编码问题

s = "\xC3\xBA" 
print s 
print type(s) 

print value 
print type(value) 

,这是输出:

ú 
<type 'str'> 
\xC3\xAD 
<type 'str'> 

值输出应该ú而不是\xC3\xAD。当我将s字符串设置为\xC3\xAD时,如何正确打印它?有人有想法吗?

value设置是这样的:

apps = data.split('-') 
for app in apps: 
    app_data = app.split('\n') 
    app_new = {} 
    for app_field in app_data: 
     key_value = app_field.split(':') 
     if len(key_value) == 2: 
      key = key_value[0].lstrip().rstrip().lower() 
      value = key_value[1].lstrip().rstrip() 
+3

你躲在那台'value'的代码。请显示它。 – 2012-07-30 16:44:13

+0

它的一种棘手的部分,但它没有一种方法可以强制输出与's'一样吗? – 2012-07-30 16:56:47

回答

1

我猜想,你的反斜线不知何故逃脱还有:

In [1]: value = "\\xC3\\xBA" 

In [2]: print value 
\xC3\xBA 

In [3]: type(value) 
Out[3]: <type 'str'>