2012-07-30 92 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'>