【问题标题】:change IPython Notebook JSON file encoding更改 IPython Notebook JSON 文件编码
【发布时间】:2014-11-28 09:57:26
【问题描述】:

默认情况下,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"
 ]
},

我认为选项应该是 here,但我不知道哪一个会成功。

【问题讨论】:

    标签: json character-encoding ipython-notebook


    【解决方案1】:

    不,这是不可能的。您弄错了文件编码和 JSON 编码。 如果您实际查看文件编码,您会发现它是 UTF-8(在 vim 中)

    { “细胞”: [ { “cell_type”:“降价”, “元数据”:{ “内部”:{ 编码?编码=utf-8 没有办法改变 json 编码,它没有意义。您使用的 json 解析器应该自动转换为/从您在程序中使用的任何编码。

    [更新] 在当前的 IPython 开发版本(未来 3.0)上,负责将文件写入磁盘的函数现在尝试将其写入为 UTF-8,因此应该修复此问题。参见PR 7144。但是,没有办法将其配置回纯 ASCII。

    【讨论】:

    • 好的,马特,谢谢你的回复。由于 Python 模块 json 中有一个参数,即 ensure_ascii=False,我认为在创建笔记本时可以使用相同的功能。
    • 至于我的要求:我有一堆 .ipynb,我经常用我的文本编辑器进行多文件搜索(快速方便)。编码只是阻止我找到重音等等。
    • 我会看看我们能做些什么,但如果我们不使用 ASCII,我们可能会与其他 Json 阅读器不兼容。
    • ...这肯定比我的(相当特殊的)用例更重要,我必须承认:-)
    • 显然这不应该改变许多 json 解析器的事情。我想我们会试一试。如果您想发送 PR....
    猜你喜欢
    • 1970-01-01
    • 2016-10-14
    • 2013-03-03
    • 1970-01-01
    • 2016-04-02
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多