Mike_python小 发表于 2020-5-31 09:10:05

python

python怎么把一个字符串转换为2进制??

使用ord不行

只能转换一个字符

求助{:10_254:}

Twilight6 发表于 2020-5-31 09:13:18

ord 是转化 成 ASCII码,不是二进制吧

heidern0612 发表于 2020-5-31 09:15:29

for循环试试?

a = "test"
print(' '.join(format(ord(x), 'b') for x in a))

qiuyouzhi 发表于 2020-5-31 09:15:37

循环ord

Mike_python小 发表于 2020-5-31 09:17:33

qiuyouzhi 发表于 2020-5-31 09:15
循环ord

不会
循环能实现以后转换回来吗

1223253411 发表于 2020-5-31 12:13:47

用字符串.encode来把字符串转换为字节串(python表达二进制的方式叫字节串)

1223253411 发表于 2020-5-31 12:16:36

要加小括号的
字符串.encode()

xiaosi4081 发表于 2020-6-1 07:17:18

本帖最后由 xiaosi4081 于 2020-6-1 08:16 编辑

int (你要转换的字符串,转换成几进制)
a = "text"
print (int(a,2))

Mike_python小 发表于 2020-6-1 07:58:27

xiaosi4081 发表于 2020-6-1 07:17
int (你要转换的字符串,转换成几进制)

Traceback (most recent call last):
File "g:/Programming/Python/test.py", line 2, in <module>
    print(int(a,2))
ValueError: invalid literal for int() with base 2: 'text'

报了这个错

Mike_python小 发表于 2020-6-1 07:59:25

xiaosi4081 发表于 2020-6-1 07:17
int (你要转换的字符串,转换成几进制)

这只能转换数字

不能转换文字

怎么办

Mike_python小 发表于 2020-6-1 08:01:37

heidern0612 发表于 2020-5-31 09:15
for循环试试?

可以 但怎么转换回去呢

xiaosi4081 发表于 2020-6-1 08:19:55

Mike_python小 发表于 2020-6-1 08:01
可以 但怎么转换回去呢

a = "test"
def encode(s):
   return ' '.join()

def decode(s):
   return ''.join(])
a = encode(a)
print(a)
a = decode(a)
print(a)

hrp 发表于 2020-6-1 08:26:26

string = 'hello'
a = list(map(lambda x: bin(ord(x)), string))
b = list(map(lambda x: chr(int(x, 2)), a))
print(a)
print(''.join(b))
页: [1]
查看完整版本: python