2009年9月28日月曜日

文字列をエンコード

組み込み関数 unicode
文字列メソッド encode decode で変換できる

# -*- coding: utf-8 -*-

u8s = "あ"

# Unicodeに変換する
us = unicode(u8s, "utf-8")
us = u8s.decode("utf-8")

# Unicode文字列をエンコードする
sjs = us.encode("shift-jis")
ejs = us.encode("euc-jp")

def get_code(ch):
    s = "0x"
    for c in ch:
        s += "%x" % ord(c)
    return int(s, 16)

print u8s
print "utf-8: %X" % get_code(u8s)
print "unicode: %X" % get_code(us)
print "shift-jis: %X" % get_code(sjs)
print "euc-jp: %X" % get_code(ejs)

実行すると
あ
utf-8: E38182
unicode: 3042
shift-jis: 82A0
euc-jp: A4A2

詳細はドキュメントで

0 件のコメント:

コメントを投稿