2006年05月08日

[Python]Pythonを電卓として使う (Unicode編)

前回で文字列編は終了して、今回はUnicode編です。

ではでははりきっていきましょー

ドキュメント(tut.pdf)の14ページです。

>>> u'Hello World'
u'Hello World'

これでUnicodeの文字列ができてるの?
u'' ってな感じで書くだけ?


>>> u'Hello\u0020World'
u'Hello World'

あ、Unicodeっぽい。
\u0020がスペースに変換されてる!


>>> ur'Hello\u0020World'
u'Hello World'
>>> ur'Hello\\u0020World'
u'Hello\\\\u0020World'

ur'' ってすると、\が奇数個のときだけ、ちゃんと変換されるのね。


>>> u"abc"
u'abc'
>>> u"あいう"
u'\x82\xa0\x82\xa2\x82\xa4'
>>> str(u"あいう")

Traceback (most recent call last):
File "", line 1, in -toplevel-
str(u"あいう")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)

あー、エラーでた。
str()はデフォルトのエンコーディングを使った変換やからか。

UnicodeをASCIIで変換しようとしてるってことか。


>>> u"あいう".encode('utf-8')
'\xc2\x82\xc2\xa0\xc2\x82\xc2\xa2\xc2\x82\xc2\xa4'

utf-8でエンコーディング


>>> unicode('\xc2\x82\xc2\xa0\xc2\x82\xc2\xa2\xc2\x82\xc2\xa4', 'utf-8')
u'\x82\xa0\x82\xa2\x82\xa4'

そこからUnicode文字列を生成。
あ、さっき出てきた出力と同じや。

なるほどね〜〜。

今日は以上で終わり!

次は、リスト!!

posted by yu at 10:06 | Comment(0) | TrackBack(0) | Python
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/17530140
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。