是否有任何固定的Python方法可以将Integer(或Long)转换为Python中的二进制字符串?
Google上有无数的dec2bin()函数......但我希望我可以使用内置的函数/库.
我有ABC123EFFF.
我想拥有001010101111000001001000111110111111111111(即二进制代表,例如42位数和前导零).
怎么样?
我试图转换一个二进制数我必须取出0b字符串.
我理解如何获取bin号码
x = 17
print(bin(17))
'0b10001'
Run Code Online (Sandbox Code Playgroud)
但我想把字符串中的ob拿出来,我在做这个时遇到了一些问题.这将在一个返回二进制数而没有0b的函数内
我正在尝试制作一个程序,将给定的整数(由32位整数可以容纳的值限制)转换为32位二进制数。例如1应该返回(000..31times)1。我一直在搜索文档以及所有内容,但是还无法找到一些具体方法。我得到它的工作,其中位数是根据数字的大小,但在字符串中。有人可以告诉更有效的方法吗?
我想用Python和Scapy解析一些数据。因此,我必须分析单个位。但是目前,我有一些有效载荷的示例UDP数据包,例如:
bytes = b'\x18\x00\x03\x61\xFF\xFF\x00\x05\x42\xFF\xFF\xFF\xFF'
Run Code Online (Sandbox Code Playgroud)
有什么优雅的方法可以转换字节,以便我可以访问单个位,例如:
bytes_as_bits = convert(bytes)
bit_at_index_42 = bytes_as_bits[42]
Run Code Online (Sandbox Code Playgroud) 我需要使用XOR计算十六进制串行字符串的校验和.对于我的(有限的)知识,这必须使用按位运算符^来执行.此外,数据必须转换为二进制整数形式.下面是我的基本代码 - 但它计算的校验和是1000831.它应该是01001110或47hex.我认为错误可能是由于错过了前导零.我试图添加前导零的所有格式都将二进制整数转换回字符串.我很感激任何建议.
word = ('010900004f')
#divide word into 5 separate bytes
wd1 = word[0:2]
wd2 = word[2:4]
wd3 = word[4:6]
wd4 = word[6:8]
wd5 = word[8:10]
#this converts a hex string to a binary string
wd1bs = bin(int(wd1, 16))[2:]
wd2bs = bin(int(wd2, 16))[2:]
wd3bs = bin(int(wd3, 16))[2:]
wd4bs = bin(int(wd4, 16))[2:]
#this converts binary string to binary integer
wd1i = int(wd1bs)
wd2i = int(wd2bs)
wd3i = int(wd3bs)
wd4i = int(wd4bs)
wd5i = int(wd5bs)
#now that I have binary integers, …Run Code Online (Sandbox Code Playgroud) rm -fr *
Run Code Online (Sandbox Code Playgroud)
不会删除 .files
另一方面,
rm -fr * .*
Run Code Online (Sandbox Code Playgroud)
会删除太多!
有一种可靠的方法来递归删除Bash中目录的所有内容吗?
我能想到的一种方法是:
rm -fr $PWD
mkdir $PWD
cd $PWD
Run Code Online (Sandbox Code Playgroud)
这具有$PWD临时删除的副作用.