0

我想将结构化数据(主要是带有一些附加元数据的表格)转储到文件中,作为另一个程序的输入。但是,某些数据字段可以是任意 Unicode 数据。您知道 PyYaml 是否是故障安全解决方案(例如,它可以避开所有问题案例)还是您会建议其他基于文件的简单解决方案?恐怕特殊字符会破坏格式或解析器。

4

1 回答 1

1

任何好的序列化程序都可以处理任意 Unicode,方法是将其转换为 Unicode 点引用。

使用 YAML:

>>> yaml.dump({'foo': u'τί ἐστίν; 統一碼!!! ✢✪✺'})
'{foo: "\\u03C4\\u1F77 \\u1F10\\u03C3\\u03C4\\u1F77\\u03BD; \\u7D71\\u4E00\\u78BC!!! \\u2722\\u272A\\\n    \\u273A"}\n'

使用 JSON:

>>> json.dumps({'foo': u'τί ἐστίν; 統一碼!!! ✢✪✺'})
'{"foo": "\\u03c4\\u1f77 \\u1f10\\u03c3\\u03c4\\u1f77\\u03bd; \\u7d71\\u4e00\\u78bc!!! \\u2722\\u272a\\u273a"}'
于 2012-06-27T12:33:01.543 回答