我在向rdflib
传递带有unicode字符的uri时遇到问题,以便添加到Graph()
例如,我想运行:
from rdflib import Graph
g = Graph()
uri = 'http://dbpedia.org/resource/René_Auberjonois'
g.parse(uri)
但是我得到了一个在Python中很常见的ascii编解码器编码错误。在
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)
如果uri被传递为`http://dbpedia.org/resource/Ren%C3%A9_Auberjonois',那就没问题了,如果字符串是那样的话,解析器就可以工作了(对不起,我不知道该怎么称呼它,不管它是“raw”、“escaped”、“unescaped”还是其他)。在
我能做些什么来uri
(它不是以这种方式设置的,而是通过一个在名称列表上循环的函数来设置的),这样print uri
会给出{
背景:
我最初问了this问题,但是在字符串前面添加u
对于如何设置脚本来说是不可行的(我没有像:s = 'René_Auberjonois'
那样设置每个字符串),或者当我将它传递给rdflib时,它实际上不起作用(即仍然得到编码错误,因为它正在被传递http://dbpedia.org/resource/René_Auberjonois
)
另外,如果有很好的资源来理解我在这里遇到的问题,那将是很酷的。我现在被字符编码搞糊涂了。在
如果百分比编码形式是您需要的,那么您可以使用^{} :
使用
safe
参数指定不应加引号的字符。它默认为/
。在相关问题 更多 >
编程相关推荐