(三)实践出真知——python常用的十进制、16进制、字符串、字节串之间的转换

(三)实践出真知——python常用的十进制、16进制、字符串、字节串之间的转换
最新回答
若曦

2020-08-14 08:32:41

Python中十进制、十六进制、字符串、字节串之间的转换方法如下

一、十进制与十六进制互转 十进制转十六进制:使用hex函数。例如,hex将十进制数10转换为十六进制'0xa'。 十六进制转十进制:使用int函数,并指定基数为16。例如,int将十六进制数'0xa'转换为十进制数10。

二、字符串与字节串互转 字符串转字节串:使用bytes函数,并指定编码。例如,bytes将字符串'hello'转换为字节串b'hello'。 字节串转字符串:使用str函数。例如,str将字节串b'hello'转换为字符串'hello'。

三、整数与字节串互转 整数转字节串:使用bytes函数,但需注意这种用法并不常见且容易出错。正确的方式是使用int.to_bytes方法,该方法可以指定字节长度和字节序。例如,int.to_bytes将整数10转换为一个长度为1的大端字节串。 字节串转整数:使用int函数,并指定基数。但更常见的是省略基数参数,直接转换。例如,int将字节串b'x0a'转换为整数10。若字节串表示有符号整数,并且需要考虑字节序和补码形式,转换过程会相对复杂。

注意:在整数与字节串互转时,特别是整数转字节串,应明确字节长度和字节序,以避免歧义。同时,对于字节串转整数,若字节串表示有符号数,需注意补码形式的处理。