2017-08-03 52 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 

此代码的输出是字节