python常用的十进制16进制字符串字节串之间的转换 admin 2023-01-29 23:12:02 篇首语:本文由小编为大家整理,主要介绍了python常用的十进制16进制字符串字节串之间的转换相关的知识,希望对你有一定的参考价值。 进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等废话不多上,直接上例子NS。jSzhUoEr.COM 整数之间的进制转换:10进制转16进制: hex(16) ==> 0x1016进制转10进制: int("0x10", 16) ==> 16类似的还有oct(), bin()-------------------字符串转整数:10进制字符串: int("10") ==> 1016进制字符串: int("10", 16) ==> 1616进制字符串: int("0x10", 16) ==> 16-------------------字节串转整数:转义为short型整数: struct.unpack(" (1, 0)转义为long型整数: struct.unpack(" (1,)-------------------整数转字节串:转为两个字节: struct.pack(" b"x01x00x02x00"转为四个字节: struct.pack(" b"x01x00x00x00x02x00x00x00"-------------------字符串转字节串:字符串编码为字节码: "12abc".encode("ascii") ==> b"12abc"数字或字符数组: bytes([1,2, ord("1"),ord("2")]) ==> b"x01x0212"16进制字符串: bytes().fromhex("010210") ==> b"x01x02x10"16进制字符串: bytes(map(ord, "x01x02x31x32")) ==> b"x01x0212"16进制数组: bytes([0x01,0x02,0x31,0x32]) ==> b"x01x0212"-------------------字节串转字符串:字节码解码为字符串: bytes(b"x31x32x61x62").decode("ascii") ==> 12ab字节串转16进制表示,夹带ascii: str(bytes(b"x01x0212"))[2:-1] ==> x01x0212字节串转16进制表示,固定两个字符表示: str(binascii.b2a_hex(b"x01x0212"))[2:-1] ==> 01023132字节串转16进制数组: [hex(x) for x in bytes(b"x01x0212")] ==> ["0x1", "0x2", "0x31", "0x32"]=================== 测试用的python源码 NS。jSzhUoEr.COMimport binascii import struct def example(express, result=None): if result == None: result = eval(express) print(express, " ==> ", result) if __name__ == "__main__": print("整数之间的进制转换:") print("10进制转16进制", end=": ");example("hex(16)") print("16进制转10进制", end=": ");example("int("0x10", 16)") print("类似的还有oct(), bin()") print(" ------------------- ") print("字符串转整数:") print("10进制字符串", end=": ");example("int("10")") print("16进制字符串", end=": ");example("int("10", 16)") print("16进制字符串", end=": ");example("int("0x10", 16)") print(" ------------------- ") print("字节串转整数:") print("转义为short型整数", end=": ");example(r"struct.unpack("") print("转义为long型整数", end=": ");example(r"struct.unpack("") print(" ------------------- ") print("整数转字节串:") print("转为两个字节", end=": ");example("struct.pack("") print("转为四个字节", end=": ");example("struct.pack("") print(" ------------------- ") print("字符串转字节串:") print("字符串编码为字节码", end=": ");example(r""12abc".encode("ascii")") print("数字或字符数组", end=": ");example(r"bytes([1,2, ord("1"),ord("2")])") print("16进制字符串", end=": ");example(r"bytes().fromhex("010210")") print("16进制字符串", end=": ");example(r"bytes(map(ord, "x01x02x31x32"))") print("16进制数组", end =": ");example(r"bytes([0x01,0x02,0x31,0x32])") print(" ------------------- ") print("字节串转字符串:") print("字节码解码为字符串", end=": ");example(r"bytes(b"x31x32x61x62").decode("ascii")") print("字节串转16进制表示,夹带ascii", end=": ");example(r"str(bytes(b"x01x0212"))[2:-1]") print("字节串转16进制表示,固定两个字符表示", end=": ");example(r"str(binascii.b2a_hex(b"x01x0212"))[2:-1]") print("字节串转16进制数组", end=": ");example(r"[hex(x) for x in bytes(b"x01x0212")]") print(" =================== ") 转自:https://blog.csdn.net/crylearner/article/details/38521685NS。jSzhUoEr.COM 以上是关于python常用的十进制16进制字符串字节串之间的转换的主要内容,如果未能解决你的问题,请参考以下文章 [转]RJ45接口说明 RTSP协议详解 您可能还会对下面的文章感兴趣: 相关文章 淮安私人空放联系方式_基本资料审核后快速就能放款平台 商丘私人空放联系方式_基本资料审核后快速就能放款平台 济宁私人借钱24小时在线,5万以上级别的贷款|无抵押个人借贷|秒下| 湖州空放私借2小时放款—身无分文借贷100%直接放款 宜昌纯私人放款微信电话——马上为您安排信贷服务+当日到账 遵义空放借钱贷款联系电话:走投无路申请放款马上就到账 绵阳专业空放贷款私人联系方式,不看过往|先贷后放|马上拿钱| 德州附近个人放款电话号码多少:不审核+随借随还+当日成功+直接到账