如何在Python中创建文本到二进制转换器

时间:2017-02-24 18:19:34

标签: python binary

所以我现在是python的新手,但我知道一些基本的想法,我决定从我自己的一个小项目开始。我想创建一个文本到二进制转换器,但在我自己的版本。例如,我想给每个字母赋予它由于其放置而保持的值,例如a = 1 b = 2或a = 1 b = 10,依此类推。有点像我自己的密码或编码。我怎么可能为每个字母设置我自己的特定二进制值,然后使用用户输入将他或她的单词转换为我的二进制代码?我是否必须将每个字母都变成一个变量?以及如何将特定二进制值应用于用户输入?我不需要bin()函数,因为“my”二进制和普通二进制值是不同的。正如我上面所说,我基于信件的放置。对不起我的新手提前了!

3 个答案:

答案 0 :(得分:2)

将字符串转换为二进制 安装库-pip install endecrypt PyPI-https://pypi.org/project/endecrypt/ 然后

import endecrypt

endecrypt.encode("Hello World 123", 'binary')
endecrypt.decode("1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100", 'binary')

答案 1 :(得分:0)

您可以创建for循环并手动设置每个变量,也可以使用内置bin或ord函数来节省时间。使用bin(ord('letter'))首先转换一个数字中的字母,然后可以使用bin函数进行转换。我也是一个新手,我必须在7年级做类似的事情。

答案 2 :(得分:0)

如果有人仍在问这个问题:

 def binary_converter(string):
    for character in string:
        print(bin(ord(character))[2:].zfill(8))

 binary_converter("Hello World!")

基本上,此函数使用字符串并将其转换为ord,然后将其转换为bin,几乎是二进制,但是由于某些原因,您需要这样做:“ [2:]。zfill(8)”,但我仍然不确定原因是。它输出如下:

01001000
01100101
01101100
01101100
01101111
00100000
01010111
01101111
01110010
01101100
01100100
00100001

因此,如果没有此“ [2:]。zfill(8)”,您将得到:

0b1001000
0b1100101
0b1101100
0b1101100
0b1101111
0b100000
0b1010111
0b1101111
0b1110010
0b1101100
0b1100100
0b100001