Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中解码unicode字符串?_Python_Unicode_Wikipedia Api - Fatal编程技术网

如何在python中解码unicode字符串?

如何在python中解码unicode字符串?,python,unicode,wikipedia-api,Python,Unicode,Wikipedia Api,WikipediaAPI将字符串编码为unicode格式 "Golden Globe Award for Best Motion Picture \u2013 Drama" 如何将其转换回 "Golden Globe Award for Best Motion Picture – Drama" Wikipedia API返回JSON数据,请使用来解码: json.loads(inputstring) 演示: 如果您有一个以u''开头的字符串,那么您已经有了一个Python unicode值

WikipediaAPI将字符串编码为unicode格式

"Golden Globe Award for Best Motion Picture \u2013 Drama"
如何将其转换回

"Golden Globe Award for Best Motion Picture – Drama"

Wikipedia API返回JSON数据,请使用来解码:

json.loads(inputstring)
演示:

如果您有一个以
u''
开头的字符串,那么您已经有了一个Python unicode值,并且正在查看该字符串的表示形式:

>>> json.loads('"Golden Globe Award for Best Motion Picture \u2013 Drama"')
u'Golden Globe Award for Best Motion Picture \u2013 Drama'
只需打印该值,让Python将其编码到终端编解码器中,并以终端可以理解的格式表示em破折号字符

如果您不了解Unicode值和字节字符串之间的区别,您可能希望在继续之前阅读Python和Unicode以及编码:

  • 乔尔斯波尔斯基

  • 内德·巴奇尔德


Wikipedia API返回JSON数据,使用来解码:

json.loads(inputstring)
演示:

如果您有一个以
u''
开头的字符串,那么您已经有了一个Python unicode值,并且正在查看该字符串的表示形式:

>>> json.loads('"Golden Globe Award for Best Motion Picture \u2013 Drama"')
u'Golden Globe Award for Best Motion Picture \u2013 Drama'
只需打印该值,让Python将其编码到终端编解码器中,并以终端可以理解的格式表示em破折号字符

如果您不了解Unicode值和字节字符串之间的区别,您可能希望在继续之前阅读Python和Unicode以及编码:

  • 乔尔斯波尔斯基

  • 内德·巴奇尔德


谢谢你的帮助,我得到的是一个=u'金球奖最佳电影奖\u2013戏剧“我尝试了a=”“+a+”“'a=json。加载(a)以原始字符串结束,我做错了什么,如何将其替换为-?谢谢你advance@ChakradarRaju:那么您已经有一个有效的Python unicode字符串,并且正在查看表示形式。只需打印它。我不打算打印它,urllib.quote(u'Golden Globe Award for Best Motion Picture\u2013 Strategic')会引发此异常键错误:u'\u2013'您需要先对unicode值进行编码,然后才能在URL中使用它。UTF-8通常适用于浏览器。
urllib.quote(u'Golden Globe Award for Best Motion Picture\u2013 Plastics'.encode('utf8'))
works,例如。感谢这一点,我得到的是a=u'Golden Globe Award for Best Motion Picture\u2013 Plastics'我尝试了a='“+a+'”a=json。加载(a)以原始字符串结束,我做错了什么,如何将\u2013替换为-?谢谢你advance@ChakradarRaju:那么您已经有一个有效的Python unicode字符串,并且正在查看表示形式。只需打印它。我不打算打印它,urllib.quote(u'Golden Globe Award for Best Motion Picture\u2013 Strategic')会引发此异常键错误:u'\u2013'您需要先对unicode值进行编码,然后才能在URL中使用它。UTF-8通常适用于浏览器。
urllib.quote(u'Golden Globe Award for Best Motion Picture\u2013 Strategic'.encode('utf8'))
可以工作,例如。