PyYAML 3.06 Release
PyYAML 3.06 がリリースされた。
PyYAML は YAML の最新仕様である YAML 1.1 に準拠し、かつバグも少なく、今現在いちばんおすすめの YAML ライブラリ。
(Ruby の Syck は YAML 1.0 だからちょっと古いし、バグも多い。)
なお文字列を dump するときに、PyYAML では non-ascii characters をエンコードする・しないを指定できる。
# -*- coding: utf-8 -*- import yaml list1 = [ {'name': u"ルルーシュ"}, {'name': u"ナナリー"} ] print yaml.dump(list1, encoding='utf8') # 結果: # - {name: "\u30EB\u30EB\u30FC\u30B7\u30E5"} # - {name: "\u30CA\u30CA\u30EA\u30FC"} print yaml.dump(list1, encoding='utf8', allow_unicode=True) # 結果: # - {name: ルルーシュ} # - {name: ナナリー}
これに対し、Ruby ではよく String#to_yaml で日本語が化けるという文句を聞くけど、いまだ解消されてない。
また JRuby は独自の YAML ライブラリを使っているけど、これが String ベースじゃなくて byte array ベースなので、日本語がそもそも通らない。