python 字节码与二进制分析

print(bytes('中', encoding='utf-8'))  # b'\xe4\xb8\xad'
print(int('e4b8ad', base=16))  # 14989485
print(bin(14989485))  # 0b111001001011100010101101
print(int('11100100', base=2))  # 228
print(hex(228))  # 0xe4
print(int('10111000', base=2))  # 184
print(hex(184))  # 0xb8
print(int('10101101', base=2))  # 173
print(hex(173))  # 0xad

1.汉字中的字节码为  b'\xe4\xb8\xad'  在内存中16进制的 e4b8ad 

2.将e4b8ad转换为 10进制的数为 14989485   (不等于下面的228184173)

3.将14989485转为二进制的数为 0b111001001011100010101101

4.把 0b   11100100      10111000      10101101 分成三部分

      整数     228                 184                173

     16进制   e4                    b8                  ad

总结:位是最小的传输单位,字节是最小的存储单位,一个字节8位,一个中文字符编码格式为UTF-8,是3个字节,在内存中是连续的0101字符串,

 

posted @ 2017-04-22 20:02  1916  阅读(630)  评论(0)    收藏  举报