顺序:显示方式,前景颜色,背景颜色,顺序非固定,但尽量按默认书写方式,也可以在input中输出使用,格式:print\033显示方式;前景颜色;背景颜色m\033.0m'
16进制,在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a,f)表示,其中:A~F表示10~15.
# 记录思维:用10进制递增后,用hex()转16进制保存;
# 若起始值是16进制,可以先转10进制递增后,再转回16进制
initA =0
for iin range(251):
initA = initA+1
b =hex(initA).upper()
# 逐个写入excel表,excel表创建、写数据、保存,见 https://www.jianshu.com/p/17f96366a25c
data_sheet.cell(column=1,row=i+2,value=b)
# 也可以保存在list
# 问题:在2个16进制数之间递增:
# 1、只需将值视为整数
start=0x30D681 # hex literal, gives us a regular integer
end =0x3227FF
# 2、如果开始值和结束值是以十六进制字符串形式输入的,请先使用int(hexvalue, 16)将它们转换为整数
start =int('30D681',16)
end =int('3227FF',16)
# 使用format(value, 'X')将其显示为十六进制
for i in range(start, end +1):
print(format(i,'X'))
在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:
hexstring 如:'1C532145697A8B6F'
str 如:'\x1C\x53\x21\x45\x69\x7A\x8B\x6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各种第三方模块(如pyDes),或者自己写的接口中,可能存在由于类型不统一需要在这3种数据中来回切换的情况。
需要用到的核心的方法如下:
list() 将对象转换为list
str() 将对象转换为str
bytearray() 将对象转换为bytearray
bytearray.fromhex() 将对象从hexstring转换为bytearray
binascii.b2a_hex() 将对象从str转换为hexstring
如:[0x53, 0x21, 0x6A] ->'\x53\x21\x6a'
方法:list ->bytearray ->str
如:'\x53\x21\6a' ->[0x53, 0x21, 0x6A]
方法:逐个字符转成十进制
如: [0x53, 0x21, 0x6A] ->'53216A'
方法:list ->bytearray ->str ->hexstring
如: '53216A' ->[0x53, 0x21, 0x6A]
方法:hexstring ->bytearray ->list
如: '53216A' ->'\x53\x21\x6A'
方法:hexstring ->bytearray ->str
以上内容转自: https://blog.csdn.net/diaoxuesong/article/details/72123415#