土耳其语字符编码

2024-10-06 11:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着从不同的列表项创建新的句子。当我用unicode打印时,它给出了错误。 我可以正常打印(不使用unicode)。当我试着把它贴到网站上时,也会出现同样的错误。我想如果我能用unicode来解决这个问题,那么当我把它发布到网站上时,它就会起作用。

p=['Bu', 'Şu']
k=['yazı','makale']
t=['hoş','ilgiç']
connect='%s %s %s'%(p[randint(0,len(p)-1)],k[randint(0,len(k)-1)],t[randint(0,len(t)-1)])
print unicode(connect)

And the output is :
Error: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 0: ordinal not in range(128)

Tags: in列表len网站connect错误unicode句子
3条回答

您应该在脚本的顶部放置这样的头并在系统上指定编码。 建议你多读一点,因为你可能经常遇到这种问题。一些resourceshere

#!/usr/bin/env python
# -*- coding: latin-1 -*-

一定要用合适的拉丁语代替上面的拉丁语-1。

首先,您应该将# -*- coding: utf-8 -*-放在脚本的顶部,以便能够在脚本中使用非ascii字符。同时,将decode str打印到unicode将解决您的问题。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from random import randint

p=['Bu', 'şu']
k=['yazı','makale']
t=['hoş','ilginç']
connect='%s %s %s'%(p[randint(0,len(p)-1)],k[randint(0,len(k)-1)],t[randint(0,len(t)-1)])
print connect.decode('utf-8')
>>> p=['Bu', 'Şu']
>>> k=['yazı','makale']
>>> t=['hoş','ilgiç']
>>> connect='%s %s %s'%(p[randint(0,len(p)-1)],k[randint(0,len(k)-1)],t[randint(0,len(t)-1)])
>>> print connect.decode('utf-8')
Şu makale ilgiç

相关问题 更多 >