栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python 2,3干净地将整数转换为“字节”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 2,3干净地将整数转换为“字节”

答1:

要将字符串转换为Python 2或Python
3中的字节序列,请使用字符串的

enpre
方法。如果您不提供编码参数
'ascii'
,则该参数对于数字总是足够的。

s = str(n).enpre()
  • Python 2:http://ideone.com/Y05zVY
  • Python 3:http://ideone.com/XqFyOj

在Python
2中

str(n)
已经产生了字节;该
enpre
会是一个双转换与此字符串隐式转换为Unipre,然后再返回到字节。这是不必要的工作,但它无害且与Python
3完全兼容。


答案2:

上面是对实际提出的问题的答案,该问题是生成人类可读形式的ASCII字节字符串。但是由于人们不断来这里试图获得 另一个
问题的答案,所以我也会回答这个问题。如果您想转换

10
b'10'
使用上面的答案,但是如果您想转换
10
b'x0ax00x00x00'
继续阅读。

struct
模块专门用于在各种类型及其二进制表示形式(字节序列)之间进行转换。从类型到字节的转换是通过完成的
struct.pack
。有一个format参数
fmt
确定应执行的转换。对于4字节整数,它将
i
用于有符号数或
I
无符号数。有关更多可能性,请参见格式字符表,如果输出大于单个字节,请参见字节顺序,大小和对齐表以获取选项。

import structs = struct.pack('<i', 5) # b'x05x00x00x00'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号