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 に答える