导航:首页 > 编程语言 > 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获取字符串的二进制相关的资料

热点内容
时钟置换算法指针变化规则 浏览:245
微信加密能否改密码 浏览:104
android权限组 浏览:168
2017单片机 浏览:474
让孩子感兴趣编程的电影 浏览:259
用颜料制作脆皮解压球 浏览:932
火箭解压器 浏览:72
cnet中级程序员面试题 浏览:190
单片机怎么做人脸识别 浏览:151
监狱办理工商银行app怎么办呢 浏览:817
c语言写编程时需要用什么输入法 浏览:588
生发程序员 浏览:165
高考英语pdf 浏览:416
哈利波特忘记服务器怎么办 浏览:821
怎么看其他电脑共享文件夹 浏览:513
py文件夹后缀 浏览:723
你对我们的app有什么建议 浏览:584
phpgetcookie 浏览:145
程序员最烦遇到的单词 浏览:125
开始服务器升级需要什么 浏览:984