python - Base64 到 1 和 0 的字符串转换器
问题描述
我对这个问题进行了一些搜索,但找不到相关答案。我正在尝试将一些字符串形式的 input() 函数转换为 Base64,并从 Base64 转换为 1 和 0 的原始字符串。我的转换器正在工作,但它的输出不是原始位,而是这样的:b'YWhvag=='。不幸的是,我需要一串 1 和 0,因为我想通过 LED 的“闪烁”发送这些数据。
你能帮我弄清楚吗?感谢您提供任何帮助!
import base64
some_text = input()
base64_string = (base64.b64encode(some_text.encode("ascii")))
print(base64_string)
解决方案
如果我正确地理解了它,你想要类似于每个 for 的字符串的二进制'hello'
等价['1101000', '1100101', '1101100', '1101100', '1101111']
物h e l l o
import base64
some_text = input('enter a string to be encoded(8 bit encoding): ')
def encode(text):
base64_string = (base64.b64encode(text.encode("ascii")))
return ''.join([bin(i)[2:].zfill(8) for i in base64_string])
def decode(binary_digit):
b = str(binary_digit)
c = ['0b'+b[i:i+8] for i in range(0,len(b), 8)]
c = ''.join([chr(eval(i)) for i in c])
return base64.b64decode(c).decode('ascii')
encoded_value = encode(some_text)
decoded_value = decode(encoded_value)
print(f'encoded value of {some_text} in 8 bit encoding is: {encoded_value}')
print(f'decoded value of {encoded_value} is: {decoded_value}')
推荐阅读
- android - 如何在片段android中访问全局变量
- r - 如何将指数回归修正为正偏态数据?
- azure - 将数据从 azure blob 存储传输到 hdfs 文件系统
- ruby-on-rails - 如何更改简单表单输入的标签
- powerbi - Power BI - 如何根据参数在 Power BI web 上获取报告
- firebase - 在用户导入时生成 Auth UID
- angular6 - 不在 Angular 6 中安装 ngx-mqtt?
- asp.net-mvc - 在没有 for 循环的情况下加载时在 Kendo Grid 中插入多行
- angular - Angular CLI 图像未在 css 中加载
- python-3.x - How to work with Values entered through Tkinter entry widgets