导航:首页 > 编程语言 > python获取字符串的二进制

python获取字符串的二进制

发布时间:2024-12-07 22:42:57

python整数转化为二进制

1、你可以自己写函数采用 %2 的方式来算。
>>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)>>> binary(5)'101'>>>

2、采用 python 自带了方法 bin 函数,比如 bin(12345) 回返回字符串 '0b11000000111001', 这个时候在把0b去掉即可:
>>> bin(12345).replace('0b','')'11000000111001'

3、也可以采用字符串的 format 方法来获取二进制:
>>> "{0:b}".format(12345)'11000000111001'>>>

㈡ python中,怎么样把特定的字符串转为二进制序列

干嘛不用binascii
>>> import binascii
>>> dir(binascii)
['Error', 'Incomplete', '__doc__', '__name__', '__package__', 'a2b_base64', 'a2b
_hex', 'a2b_hqx', 'a2b_qp', 'a2b_uu', 'b2a_base64', 'b2a_hex', 'b2a_hqx', 'b2a_q
p', 'b2a_uu', 'crc32', 'crc_hqx', 'hexlify', 'rlecode_hqx', 'rledecode_hqx', 'un
hexlify']
>>> binascii.a2b_hex("a16203")
'\xa1b\x03'
>>>

㈢ 求助:python如何按位解析二进制数据

可以的,二进制是计算机内的表示方法,处理二进制数据是最基本的能力。

如果是二进制字符串转十进制:

>>>x='10101010'
>>>int(x,2)
170

如果是从文件或网络中获取的数据,要知道某一位是0还是1的话,获取的数据可以按字符读取,由于一个字符由8位二进制表示,分别读取1到8位的二进制值就可以了:

>>>get_char_bit=lambdachar,n:(char>>(8-n))&1#从高到低分别为第1~8位
>>>data=b'ab'#在python3中字符串默认是unicode,所以加上b前缀兼容
>>>#在python3中按字符读取byte字符串是数字,而python2读出来的却是字符,但bytearray是一致的都是数字
>>>data=bytearray(data)
>>>result=[]
>>>forcharindata:
foriinrange(1,9):
result.append(get_char_bit(char,i))

>>>result
[0,1,1,0,0,0,0,1,0,1,1,0,0,0,1,0]

还有一种比较简单的方法是使用内置的bin函数

>>>data=bytearray(b'ab')
>>>result=[]
>>>forcharindata:
result.extend(bin(char)[2:].rjust(8,'0'))

>>>result
['0','1','1','0','0','0','0','1','0','1','1','0','0','0','1','0']
阅读全文

与python获取字符串的二进制相关的资料

热点内容
服务器2016自动备份怎么取消 浏览:838
dos攻击命令大全 浏览:840
梦世界服务器怎么扩大领地 浏览:966
解压breathe 浏览:431
webview调用java 浏览:346
android待机流程 浏览:854
python直接退出程序 浏览:845
百战程序员收费标准 浏览:776
时钟置换算法指针变化规则 浏览:248
微信加密能否改密码 浏览:107
android权限组 浏览:175
2017单片机 浏览:481
让孩子感兴趣编程的电影 浏览:264
用颜料制作脆皮解压球 浏览:938
火箭解压器 浏览:78
cnet中级程序员面试题 浏览:192
单片机怎么做人脸识别 浏览:157
监狱办理工商银行app怎么办呢 浏览:822
c语言写编程时需要用什么输入法 浏览:593
生发程序员 浏览:167