2016-12-02 16 views
0

我想從這個字符串在Python創建的字母列表:Python - 我如何從特殊字符的字符串創建一個字母列表?

string = 'utf✮fff' 

我已經試過這樣:

>>> string = "utf✮fff" 
>>> print list(string) 
['u', 't', 'f', '\xe2', '\x9c', '\xae', 'f', 'f', 'f'] 

然而,它應該是這樣的:

['u', 't', 'f', '\xe2\x9c\xae', 'f', 'f', 'f'] 

不任何人都知道如何創建這個輸出?先謝謝你!

+4

你正在處理一個字節字符串。如果您希望Python知道單個*字符,請使用unicode字符串*:'u'utf✮fff'' – deceze

+0

謝謝!它的工作,我怎麼能應用這個字符串變量?例如:'unicodestring = string.encode('unicode')' –

+0

@DanielTremer「unicode」不是一種編碼。你必須使用var = unicode(var) – user312016

回答

1

你必須使用unicode字符串:

string = u'utf✮fff' 
print list(string) 

[u'u', u't', u'f', u'\u272e', u'f', u'f', u'f'] 


string = 'utf✮fff' 
string = unicode(string) 
print list(string) 

[u'u', u't', u'f', u'\u272e', u'f', u'f', u'f'] 

注意,在你的情況,你將不得不設置

# coding: utf8 

頭。

+0

工程!這樣做沒有設置標題:'string ='utf✮fff' string = string.decode('utf-8') string = unicode(string) print list(string)' –

+0

@DanielTremer這也是有效的:)注意你也可以使用sys.setdefaultencoding('utf8') – user312016

+0

非常感謝你:) –

相關問題