如何将 ASCII 转换为位串(二进制)
How to convert ASCII to Bit string (binary)
我正在寻找与此类似的循环,用于将 ASCII 转换为十进制,然后将十进制转换为二进制字符串:
字符串 = 输入("Enter message: ")
#Convert string from ASCII to Decimal
A_string = [ord(c) for c in string]
print(A_string)
# add 1 to ASCII value
B_string = A_string
for i in range(len(B_string)):
B_string[i] = B_string[i] + 1
print(B_string)
#Decimal to Binary
decimal = B_string
remainder = decimal
Binary_string = decimal
for i in range(len(decimal)):
remainder[i] = int(decimal[i])
remainder[i] %= 2
decimal[i] = decimal[i] // 2
Binary_string[i] = str(remainder[i] + Binary_string[i])
print(Binary_string)
我要找的不是这样的东西:
res = "".join(f"{ord(shiftedChar):08b}")
shiftedChar
我正在寻找 BASIC OLD SCHOOL 技术...使用基本的除法、乘法、幂等对实际发生的事情进行编程
来自
首先,您需要去除 0b 前缀,并用左零填充字符串,使其长度可以被 8 整除,以便轻松地将位串分成字符:
bitstring = bitstring[2:]
bitstring = -len(bitstring) % 8 * '0' + bitstring
然后将字符串分成八个二进制数字块,将它们转换为 ASCII 字符,然后将它们连接回一个字符串:
string_blocks = (bitstring[i:i+8] for i in range(0, len(bitstring), 8))
string = ''.join(chr(int(char, 2)) for char in string_blocks)
如果你真的想把它当作一个数字,你仍然需要考虑这样一个事实,如果你想从左到右而不是从右到右,最左边的字符最多七位数-左。
我正在寻找与此类似的循环,用于将 ASCII 转换为十进制,然后将十进制转换为二进制字符串: 字符串 = 输入("Enter message: ")
#Convert string from ASCII to Decimal
A_string = [ord(c) for c in string]
print(A_string)
# add 1 to ASCII value
B_string = A_string
for i in range(len(B_string)):
B_string[i] = B_string[i] + 1
print(B_string)
#Decimal to Binary
decimal = B_string
remainder = decimal
Binary_string = decimal
for i in range(len(decimal)):
remainder[i] = int(decimal[i])
remainder[i] %= 2
decimal[i] = decimal[i] // 2
Binary_string[i] = str(remainder[i] + Binary_string[i])
print(Binary_string)
我要找的不是这样的东西:
res = "".join(f"{ord(shiftedChar):08b}")
shiftedChar
我正在寻找 BASIC OLD SCHOOL 技术...使用基本的除法、乘法、幂等对实际发生的事情进行编程
来自
首先,您需要去除 0b 前缀,并用左零填充字符串,使其长度可以被 8 整除,以便轻松地将位串分成字符:
bitstring = bitstring[2:]
bitstring = -len(bitstring) % 8 * '0' + bitstring
然后将字符串分成八个二进制数字块,将它们转换为 ASCII 字符,然后将它们连接回一个字符串:
string_blocks = (bitstring[i:i+8] for i in range(0, len(bitstring), 8))
string = ''.join(chr(int(char, 2)) for char in string_blocks)
如果你真的想把它当作一个数字,你仍然需要考虑这样一个事实,如果你想从左到右而不是从右到右,最左边的字符最多七位数-左。