chr()【Unicode コードポイント ⇒ 文字】
ord()【文字 ⇒ Unicode コードポイント】
bin()【2 進文字列変換】
oct()【8 進文字列変換】
hex()【16 進文字列変換】
ascii()【印字可能文字列変換 (エスケープ)】
repr()【印字可能文字列変換】

chr()【Unicode コードポイント ⇒ 文字】
ord()【文字 ⇒ Unicode コードポイント】

メモ

構文

chr(i)

戻り値1文字の文字列
iUnicode コードポイント (0 ~ 0x10FFFF)
例外ValueError (Unicode コードポイントが範囲外)
ord(c)

戻り値Unicode コードポイント
c1文字の文字列
例外TypeError (1文字でない)

lst1 = [
    0x30,     # 出力:0
    0x41,     # 出力:A
    0x61,     # 出力:a
    0x3042,   # 出力:あ
    0x30A2,   # 出力:ア
    0x5B89,   # 出力:安
    0x963F,   # 出力:阿
#   0x200000  # ValueError 例外
]

for i in lst1:
    print(chr(i))
lst2 = [
    '0',   # 出力:0x30
    'A',   # 出力:0x41
    'a',   # 出力:0x61
    'あ',  # 出力:0x3042
    'ア',  # 出力:0x30a2
    '安',  # 出力:0x5b89
    '阿',  # 出力:0x963f
#   '123'  # 出力:TypeError 例外
]

for c in lst2:
    i = ord(c)
    print(hex(i))

bin()【2 進文字列変換】
oct()【8 進文字列変換】
hex()【16 進文字列変換】

メモ

  • 整数をプリフィックス付きのn進文字列に変換
    関数備考
    bin()【2 進文字列変換】プリフィックス:0b
    oct()【8 進文字列変換】プリフィックス:0o
    hex()【16 進文字列変換】プリフィックス:0x
    a ~ f は小文字
  • 関連

構文

bin(x)
oct(x)
hex(x)

戻り値プリフィックス付きの 2・8・16 進文字列
x整数値
例外TypeError (整数以外)

lst = [
    0,      # 出力:(0) (0b0) (0o0) (0x0)
    0b11,   # 出力:(3) (0b11) (0o3) (0x3)
    0o77,   # 出力:(63) (0b111111) (0o77) (0x3f)
    0xFF,   # 出力:(255) (0b11111111) (0o377) (0xff)
    -7,     # 出力:(-7) (-0b111) (-0o7) (-0x7)
#   None,   # TypeError 例外
#   "123",  # TypeError 例外
#   1.23    # TypeError 例外
]

for x in lst:
    b = bin(x)
    o = oct(x)
    h = hex(x)
    print("({}) ({}) ({}) ({})".format(x, b, o, h))

ascii()【印字可能文字列変換 (エスケープ)】
repr()【印字可能文字列変換】

メモ

構文

ascii(object)
repr(object)

戻り値印字可能文字列
objectオブジェクト

from datetime import date

lst = [
    123,
    "文字列",
    date(2001, 2, 3)
]
for obj in lst:
    a = ascii(obj)
    r = repr(obj)
    s = str(obj)
    print("({}) ({}) ({})".format(a, r, s))
# 出力:(123) (123) (123)
# 出力:('\u6587\u5b57\u5217') ('文字列') (文字列)
# 出力:(datetime.date(2001, 2, 3)) (datetime.date(2001, 2, 3)) (2001-02-03)