# -*- coding: utf-8 -*-
import struct
import binascii
# 数値 (0x64) -> 文字列 '0x64'
num = 100
print "10 進数数値 : %d" % num
print "16 進数数値 : %02x" % num
numstr = str(num)
print "10 進数文字列: %s" % numstr
numstr16 = str("%02x" % num)
print "16 進数文字列: %s" % numstr16
# 10 進数文字列 '100' -> 数値 (0x64)
print "-------------------"
numstr = "100"
print "10 進数文字列: %s" % numstr
num = int(numstr)
print "10 進数数値 : %d" % num
# 16 進数文字列 '64' -> 数値 (0x64)
print "-------------------"
numstr16 = "64"
print "16 進数文字列: %s" % numstr16
num = int(numstr16, 16)
print "16 進数数値 : %02x" % num
# バイナリ (00000064) -> 数値 (0x64)
print "-------------------"
bin = "\x00\x00\x00\x64"
print "Binary : %s" % binascii.b2a_hex(bin)
d = struct.unpack('!L', bin)
print "16 進数数値 : %08x" % d
print "10 進数数値 : %d" % d
# 数値 (0x64) -> バイナリ (00000064)
print "-------------------"
d = 0x64
print "16 進数数値 : %08x" % d
bin = struct.pack('!L', d)
print "Binary : %s" % binascii.b2a_hex(bin)
# 16 進数文字列 '64' -> バイナリ (00000064)
print "-------------------"
numstr16 = "64"
print "16 進数文字列: %s" % numstr16
d = int(numstr16, 16)
bin = struct.pack('!L', d)
print "Binary : %s" % binascii.b2a_hex(bin)
実行結果
$ python number.py 10 進数数値 : 100 16 進数数値 : 64 10 進数文字列: 100 16 進数文字列: 64 ------------------- 10 進数文字列: 100 10 進数数値 : 100 ------------------- 16 進数文字列: 64 16 進数数値 : 64 ------------------- Binary : 00000064 16 進数数値 : 00000064 10 進数数値 : 100 ------------------- 16 進数数値 : 00000064 Binary : 00000064 ------------------- 16 進数文字列: 64 Binary : 00000064
確実の動くもので、良い参考になりました。
返信削除ありがとうございました!!!
Chen