2017-08-03 21 views
0

我需要將印地文文字存儲在python列表中。當我存儲印地文單詞時,它被存儲爲utf-8編碼的字符串,而不是實際的單詞。雖然如果我遍歷列表,我可以用印地語打印單詞,但是當我打印列表時,它會顯示utf-8編碼的字符串。在python列表中存儲印地文文本

這是當我打印列表什麼我得到「標籤」

['\xe0\xa4\x9f\xe0\xa5\x8d\xe0\xa4\xb0\xe0\xa5\x88\xe0\xa4\xab\xe0\xa4\xbf\xe0\xa4\x95 \xe0\xa4\xaa\xe0\xa5\x81\xe0\xa4\xb2\xe0\xa4\xbf\xe0\xa4\xb8\xe0\xa4\x95\xe0\xa4\xb0\xe0\xa5\x8d\xe0\xa4\xae\xe0\xa4\xbf\xe0\xa4\xaf\xe0\xa5\x8b\xe0\xa4\x82', '\xe0\xa4\xb5\xe0\xa5\x87\xe0\xa4\xb8\xe0\xa5\x8d\xe0\xa4\x9f \xe0\xa4\x9c\xe0\xa4\xbf\xe0\xa4\xb2\xe0\xa4\xbe','\xe0\xa4\x9c\xe0\xa5\x80\xe0\xa4\x8f\xe0\xa4\xb8\xe0\xa4\x9f\xe0\xa5\x80', '\xe0\xa4\xa6\xe0\xa4\xbf\xe0\xa4\xb2\xe0\xa5\x8d\xe0\xa4\xb2\xe0\xa5\x80', '\xe0\xa4\xb6\xe0\xa4\xbf\xe0\xa4\x95\xe0\xa4\xbe\xe0\xa4\xaf\xe0\xa4\xa4'] 

其中預期輸出

[ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत] 

回答

0

列表的str()從其元素的repr()建立 - 你不一定能夠知道元素開始和結束的地方。字符串的repr()對於非ASCII字符使用轉義序列,以確保即使存在各種類型的不可打印字符,也可以確切地告訴字符串中的內容。

你只需要在列表轉換爲字符串自己,而不涉及repr()

', '.join(tags) 
0

解碼列表爲UTF-8打印之前或存儲它得到實際字符串

# -*- coding: utf-8 -*- 

my_list = [ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत] 

print my_list.decode('utf-8') 

輸出

[ट्रैफिक पुलिसकर्मियों, वेस्ट जिला, जीएसटी,दिल्ली,शिकायत] 
0

計算機中的所有內容都是字節,所有數據都進入或離開你編寫的程序是字節。

字節的問題是,它們本身就沒有意義,我們需要約定來賦予它們意義。 使用ASCII碼爲每個字節分配95個符號之一。例如a ='\ x61',如果您使用功能打印,您將看到char a而不是\x61,但實際上您使用的是字節 的代碼,那麼如果您只想顯示列表的數據,請使用打印功能:

## -*- coding: utf-8 -*- 

for i in your list : 
    print i 

此代碼的輸出是meaningfull

## -*- coding: utf-8 -*- 

for i in your list : 
    i 

此代碼的輸出是字節

相關問題