1. 逐行读txt文件,拆分,及进制间转换:
# readline会读入换行符,读入为string,拆分后为list
with open(filename, 'r') as file:
data = file.read().split("\n")
# 进一步拆分,原数据格式:【key:value】,拆分取value
for i in range(data.shape[0]):
line_data = data[i].split(':')[1]
# 取单个字符
for alpha in line_data:
xxxx
# 分割范围
alphas = line_data[1:3]
# 字符转16进制,默认十进制,返回十进制整型,但输入范围为十六进制
str2hex = int(alpha, 16)
# 整型输出16进制,返回string,确保输入为int
hexs = hex(int(str2hex))
# 16进制转2进制, 返回string
hex2bin = bin(str2hex)
# 二进制汉明重量/ 1的个数,返回整型
hex2bin.count('1')
2. 单字节汉明重统计
HW= np.array([bin(n).count("1") for n in range(0, 256)])