【web_逆向03】关于字节

发布时间 2023-08-13 21:13:51作者: Tony_xiao

简介

  • 字节是二进制数据的单位。一个字节通常8位长。但是,一些老型号计算机结构使用不同的长度。为了避免混乱,在大多数国际文献中,使用词代替byte。

python中转换成字节

  • 1个字节是8位二进制. 1111 1111 -> 255 -> FF 两位十六进制刚好最大值是 FF 255 1111 1111
  • \x00 - \xff -> 一个字节, \x是一个符号. 后面跟的是两位十六进制的数字.
s = "周杰伦"
# # 把字符串转化成字节.
bs = s.encode("utf-8")  
print(bs)  # b'\xe5\x91\xa8\xe6\x9d\xb0\xe4\xbc\xa6'

字节的本质是数字

# 在js中,是没有字节的. 所有的字节都是用的数字来表示.
# [230, 168, 181]  <=>  b'\xe6\xa8\xb5';

在python的字节中, 如果数据是在ascii范围内的, 会被显示成ascii对应的文字符号

msg = "你abc哈m上".encode("utf-8")
print(msg)  # b'\xe4\xbd\xa0abc\xe5\x93\x88m\xe4\xb8\x8a'

bs1 = b"00000000"
bs2 = b"\x00\x00\x00\x00\x00\x00\x00\x00"
bs3 = b'\x30\x30\x30\x30\x30\x30\x30\x30'
print(bs1 == bs2)   #False
print(bs1 == bs3)   #True
print(bs1,bs2,bs3)   # b'00000000' b'\x00\x00\x00\x00\x00\x00\x00\x00' b'00000000'