首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载信息的JSON facebook的编解码器是什么?

下载信息的JSON facebook的编解码器是什么?
EN

Stack Overflow用户
提问于 2019-10-01 06:51:25
回答 1查看 84关注 0票数 0

我必须处理我从facebook下载的JSON文件和我所有的信息。我将管理JSON本身,但是在我开始处理这些文件之前,我有一个问题。我无法确定下载的文件的编解码器。我尝试了Win和Mac,在Jupyter Notebook下使用Python3。代码如下:

代码语言:javascript
运行
复制
f = open("testefc.json", "r", encoding="iso-8859-1")
f.read()

我尝试了utf-8,latin1和其他几种格式,但似乎都不能正确翻译。我的文件包含以下文本:

代码语言:javascript
运行
复制
"Voc\u00c3\u00aa est\u00c3\u00a1 num processo de sele\u00c3\u00a7\u00c3\u00a3o"

我知道这意味着"você está num processo de seleção"。我可以尝试替换每一段代码,但我认为一定有更容易的方法。不幸的是,使用html下载并不适合我的需求。

感谢任何人的帮助!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-10-01 13:35:33

你有没有试着用utf-8编码打开这个文件?您的方法提到了拉丁语-1和utf-8,因此我认为您可能混淆了编码,没有正确解码json文件。试一试

代码语言:javascript
运行
复制
>>> f = open('testefc.json', 'r', encoding='utf-8')
>>> f.read()
'Você está num processo de seleção'
>>> f.close()

请注意,这相当于以二进制模式打开文件(未指定编码),然后手动对其进行解码

代码语言:javascript
运行
复制
>>> f = open('testefc.json', 'rb')
>>> f.read().decode('utf-8')
'Você está num processo de seleção'
>>> f.close()

您似乎错误地将json文件解码为拉丁文-1,但是原始文本编码是utf-8 (与facebook.com页面来源:<meta charset="utf-8" />相比)。当您再次将示例文本编码为拉丁语-1并将其解码为utf-8时,您将获得正确解码的Python字符串。

代码语言:javascript
运行
复制
>>> l = 'Voc\u00c3\u00aa est\u00c3\u00a1 num processo de sele\u00c3\u00a7\u00c3\u00a3o'.encode('latin1')
>>> s = l.decode('utf-8')
>>> s
'Você está num processo de seleção'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58176175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档