在python中将unicode字符列表转换为希伯来语字符串
按照线程解决方案,我成功地获得了一系列列表,每个列表看起来都像: [u'\u05ea\u05d0\u05de\u05d9\u05df\u05dc\u05d9'] 我假设它们是unicode字符,但由于某种原因,我无法将它们转换回希伯来语 我在链接的评论中尝试了建议的解决方案。我也试着使用在python中将unicode字符列表转换为希伯来语字符串,python,unicode,html-parsing,Python,Unicode,Html Parsing,按照线程解决方案,我成功地获得了一系列列表,每个列表看起来都像: [u'\u05ea\u05d0\u05de\u05d9\u05df\u05dc\u05d9'] 我假设它们是unicode字符,但由于某种原因,我无法将它们转换回希伯来语 我在链接的评论中尝试了建议的解决方案。我也试着使用'.join,但没用。我得到的错误是: 错误类型:exceptions.UnicodeEncodeError 22:42:15 T:2806414192 M:2425589760错误:错误内容:“ascii”编解
'.join
,但没用。我得到的错误是:
错误类型:exceptions.UnicodeEncodeError 22:42:15 T:2806414192M:2425589760错误:错误内容:“ascii”编解码器无法编码
位置0-4中的字符:序号不在范围内(128) 我试图用
unicode()
来包装东西,但得到的结果与上面的示例相同
我如何做到这一点
注意:我正在尝试解析 编辑:
我正在尝试使用
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)
soup=BeautifulStoneSoup(链接,convertEntities=BeautifulStoneSoup.XML\u实体)
程序=汤('ul')
对于i,枚举中的prog(程序):
如果i==(4+getLetterValue(名称)):
j=0
而j
link
是一个字符串。和getLetterValue(name)
返回一个整数,该整数告诉html文档中的位置。这是一个unicode
字符串,是希伯来语,您甚至可以直接在Python交互式shell上打印它。e、 g:
>>> print u'\u05ea\u05d0\u05de\u05d9\u05df \u05dc\u05d9'
תאמין לי
如果出于某种原因确实需要将其转换为原始字节字符串(一个str
对象),则必须指定字节字符串的编码,因为文本可以用许多不同的编码表示
简短回答:假设您想使用UTF-8编码文本,您可以使用:
your_unicode_text.encode('utf-8')
如果要使用不同的编码,只需更改上面的编码名称即可
有关Python如何处理Unicode文本和常见问题的参考,请参阅:
另请参见Unicode和字符串编码的另一简短说明。您所说的“将它们转换回希伯来语”是什么意思?例如,要将它们写入utf-8编码文件吗?该列表中已经是unicode字符串,因此,
u'…
。请详细说明你所说的“将它们转换回希伯来语”是什么意思。你能为你正在尝试做的事情发布一些代码吗?将上面的列表分配给一个变量并打印出来,我会觉得它像希伯来语…对我来说,这可以打印出很好的[u'\u05ea\u05d0\u05de\u05d9\u05df\u05dc\u05d9']>>打印l[0]我想通过xbmc.org插件在字符串上显示它们。目前,问题在于打印,实际上,它将内容打印到文件中,而不是屏幕上