首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中的字符串到单个字节

python中的字符串到单个字节
EN

Stack Overflow用户
提问于 2022-01-03 20:54:55
回答 2查看 52关注 0票数 0

我有一个python字符串,如下所示:

代码语言:javascript
复制
byte_string = "01100110"

我想把它转换成这样的字节:

代码语言:javascript
复制
byte_byte = some_function(byte_string) # byte_byte = 0b01100110

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-03 21:31:49

似乎您希望将该字符串转换为单个数字。为此,您只需转换为基数为2的int

代码语言:javascript
复制
byte_byte = int(byte_string, 2)
票数 0
EN

Stack Overflow用户

发布于 2022-01-03 20:58:07

在进一步思考这个问题之后,我想我原来误解了你的意图,这反映在我下面的“事先回答”中。

我认为这个先验问题也可以解决你的问题,因为听起来你想把一个8位的字符串转换成一个字节。而且,正如@Mark所指出的,它看起来像一个十进制代码:

代码语言:javascript
复制
int(byte_string, 2)
output: 102

或者像这样作为对应的ascii字符:

代码语言:javascript
复制
chr(int(byte_string, 2))
output: 'f'

可以将字符串编码成这样的字节,如果需要,还可以传递特定的编码:

代码语言:javascript
复制
byte_string = "01100110"
byte_string.encode("utf-8")

bytes(byte_string, 'utf-8')

结果:

代码语言:javascript
复制
b'01100110'

链接到python文档,用于编码/解码字符串

另一种选择是创建字节数组:

代码语言:javascript
复制
bytearray(byte_string, 'utf-8')
output: bytearray(b'01100110')

下面是另一个可能有用的StackOverflow螺纹,它描述了字节和字节数组对象之间的区别,以及它们在字符串转换中的使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70571331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档