作者: 藤岡和夫
日時: 2009/8/19(21:50)
再信。

On Wed, 19 Aug 2009 14:50:38 +0900
MATSUI Fe2+ Tetsushi <VED03370@...> さんwrote:

> 2. 自分で変換する。
>    codecs.EncodedFile で変換したファイルを readPlist に渡す

については、readPlistはUnicode形式でないと読めないと思うので処理結果をencode
する必要があるのだろうと思います。それをいろいろ試してみましたが、よくわ
かりませんでした。Pythonのdecodeやencodeってどのモジュールをインポートす
るのでしょう。codecsではない!?

結局、前のスクリプトのようにそのまま処理しました。出力結果は次のようにな
りました。

Python 2.6.2
-------------
{'WebBookmarkType': 'WebBookmarkTypeLeaf',
 'WebBookmarkUUID': '092CCF67-8DA8-B048-AF5A-6454DE95F553',
 'URLString': 'http://www.ccs.neu.edu/home/tov/erlang-talk/',
 'URIDictionary': {'': 'http://www.ccs.neu.edu/home/tov/erlang-talk/',
 'title': 'Erlang-Style Concurrency'}}],
 'Title': u'\u8aad\u307f\u8fbc\u307f\u6e08\u307f\u306e Netscape/Mozilla
 \u306e\u30d6\u30c3\u30af\u30de\u30fc\u30af'}],
 'WebBookmarkGroupVersionString': '5'}

ActivePython 3.1...
------------------- 
{'WebBookmarkType': 'WebBookmarkTypeLeaf',
 'WebBookmarkUUID': '092CCF67-8DA8-B048-AF5A-6454DE95F553',
 'URLString': 'http://www.ccs.neu.edu/home/tov/erlang-talk/',
 'URIDictionary': {'': 'http://www.ccs.neu.edu/home/tov/erlang-talk/',
 'title': 'Erlang-Style Concurrency'}}],
 'Title': '隱ュ縺ソ霎シ縺ソ貂医∩縺ョ Netscape/Mozilla
 縺ョ繝悶ャ繧ッ繝槭・繧ッ'}],
 'WebBookmarkGroupVersionString': '5'}

出力の最後の部分を抜き出しました。適当に改行しています。3.1はおそらくUnicode
を自動的にutf-8にencodeして出力している(文字化けしている)と思われます。

目的を達するためには、後は、配列から必要な要素を抜き出す方法を知る必要が
あります。

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html