更改IPython笔记本JSON文件编码

更改IPython笔记本JSON文件编码,json,character-encoding,ipython-notebook,Json,Character Encoding,Ipython Notebook,默认情况下,JSON笔记本的编码为ASCII: { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "2.1.4. Nombre d'\u00e9l\u00e9ments: call/function/len" ] }, 有可能把它改成UTF-8吗 { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "2.1.

默认情况下,JSON笔记本的编码为ASCII:

{
 "cell_type": "heading",
 "level": 3,
 "metadata": {},
 "source": [
  "2.1.4. Nombre d'\u00e9l\u00e9ments: call/function/len"
 ]
},
有可能把它改成UTF-8吗

{
 "cell_type": "heading",
 "level": 3,
 "metadata": {},
 "source": [
  "2.1.4. Nombre d'éléments: call/function/len"
 ]
},
我原以为会有这样的选择,但我不知道哪一个会成功。

不,这是不可能的。您误解了文件编码和JSON编码。 如果您实际查看文件编码,您将看到它是UTF-8(在vim中):

{ “细胞”:[ { “单元格类型”:“降价”, “元数据”:{ “内部构件”:{ 编码?编码=utf-8 没有办法更改json编码,它不会使sens生效。您使用的json解析器应该自动转换为您在程序中使用的任何编码。
[更新]关于IPython(未来3.0)的当前开发版本负责在磁盘上写入文件的函数现在尝试将其写入UTF-8,因此这应该是固定的。Cf.但是没有办法配置回普通ASCII。

OK,Matt,感谢您的回复。由于Python模块json中有一个参数,即确保_ASCII=False,我认为可以使用相同的功能创建笔记本。至于我的要求:我有一堆.ipynb,我经常使用文本编辑器进行多文件搜索(快速方便)。编码只是阻止我找到重音等等。我会看看我们能做些什么,但如果我们不使用ASCII,我们可能与其他Json读取器不兼容……这当然比我的(相当特殊)更重要用例,我必须承认:-)显然这不应该改变很多json解析器的情况。我想我们可以试一试。如果你想发送PR。。。。 { "cells": [ { "cell_type": "markdown", "metadata": { "internals": { encoding? encoding=utf-8