Python Developer Festa 2012.03 で、Python 3.3 チラ見を紹介しました。いくつか補足を。 文字列の扱い non-BMP Unicode 文字を適切に扱える、の話ですが、何人かの人に指摘されたとおり、Python 3.2 であっても、configure で --with-wide-unicode オプションをつけると、1文字を1文字として扱います。というわけで調べ直しました。 Python 3.2 では、内部で UCS-2 を使う narrow ビルドと、UCS-4をつかう wide ビルドををコンパイル時に選択できるオプションがありました。configure の --with-wide-unicode を明に指定すると、UCS-4です。 この実装の問題は、narrow ビルドでは、サロゲートペアを使う(e.g. 文字列としてのバナナ)が、内部表現として