読者です 読者をやめる 読者になる 読者になる

或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。おバカなことが大好きです。

Pythonで半角カナを必死に見て遊んでいたわ~

半角カナについては、半角カナ - Wikipediaから。

PythonでUTF-8文字列を表現する

>>> s = u"あいうえおかきくけこ"
>>> s
u'\u3042\u3044\u3046\u3048\u304a\u304b\u304d\u304f\u3051\u3053'

ポイントはシングルクウォーテーションの前にuをつけること。

んで表示してみると、

\u

の後に、2バイトのコードがHexで続いているよう。

PythonでUTF-8文字列で半角カナを表現する

>>> s = u"アイウエオカキクケコ"
>>> s
u'\uff71\uff72\uff73\uff74\uff75\uff76\uff77\uff78\uff79\uff7a'

\u

の後に、2バイトのコードが続いているのには間違い無いんだけど、左から見て1バイト目が"ff"になってますなぁ。もともと、半角カナは1バイトで表現出来ますからね。携帯電話とかみたいに、文字数やサイズを考慮すると半角カナを1バイトで使うことにメリットがあるんだろうけど、汎用性考えると、2バイトに併せておいたほうが断然無難。UTF-8ではこうなっているということでした。

初めてのPython 第3版

初めてのPython 第3版