转换Unicode字符的列表为希伯来文字符串在python
继this线程解决方案,我已经成功地得到了一组列出了每个看起来像:转换Unicode字符的列表为希伯来文字符串在python
[u'\u05ea\u05d0\u05de\u05d9\u05df \u05dc\u05d9']
我认为那些都是Unicode字符,但对于某些原因,我不能将它们转换回希伯来语。
我在链接的评论中尝试了建议的解决方案。我也尝试使用''.join
,但它没有奏效。我得到的错误是:
Error Type: exceptions.UnicodeEncodeError 22:42:15 T:2806414192
M:2425589760 ERROR: Error Contents: 'ascii' codec can't encode
characters in position 0-4: ordinal not in range(128)
我试图在unicode()
包裹的东西,但我得到的是一样的上面的例子。
我该如何做到这一点?
注:
我试图解析this link。
编辑:
我试图用join
到列表转换成字符串,然后打印出来。这里是代码的相关费用相加:
soup = BeautifulStoneSoup(link, convertEntities=BeautifulStoneSoup.XML_ENTITIES)
programs = soup('ul')
for i,prog in enumerate(programs):
if i==(4+getLetterValue(name)):
j = 0
while j < len(prog('li')):
li = prog('li')[j]
link = li('a')[0]
url = link['href']
text = link.contents
print ''.join(text)
link
是一个字符串。和getLetterValue(name)
返回一个整数,它告诉html文档中的位置是什么。
这是一个unicode
字符串,它的是在希伯来语,你甚至可以直接在Python交互式shell上打印它。例如:
>>> print u'\u05ea\u05d0\u05de\u05d9\u05df \u05dc\u05d9'
תאמין לי
如果你真的需要将其转换为某种原因字节(str
对象)的原始字符串,你必须指定字节串的编码因为文字可以代表了许多不同的编码。
简短的回答:假设你想使用UTF-8的文本进行编码,可以使用:
your_unicode_text.encode('utf-8')
如果你要使用不同的编码,只需更改上面的编码名称。
有关使用Unicode文本和常见问题的Python如何处理,请参考:http://docs.python.org/howto/unicode.html
也this answer见Unicode和字符串编码的另一个简短的说明。
你的意思是“将它们转换回希伯来语”。例如。想要将它们写入utf-8编码文件? – bpgergo
已经*是该列表中的一个unicode字符串,因此是'u'...'。请详细说明“将它们还原为希伯来语”的含义。 –
你可以发布你想要做的一些代码吗?分配列表上方的变量并打印它给תאמיןלי它看起来像希伯莱我... –