【问题标题】:Removing certain strings from base64 output python从base64输出python中删除某些字符串
【发布时间】:2017-10-13 10:47:24
【问题描述】:

这是我的代码。

import base64

encoded = base64.b64encode(b"data to be encoded")
print(encoded)
print(encoded.replace("b", ""))

这是我的输出

b'ZGF0YSB0byBiZSBlbmNvZGVk'
Traceback (most recent call last):
File "C:\Users\user\Desktop\base64_obfuscation.py", line 8, in <module>
print(decoded.replace("b", ""))
TypeError: a bytes-like object is required, not 'str'

我的总体任务是从字符串中删除单引号和“b”字符,但我不确定该怎么做?

【问题讨论】:

  • 前面的 b 部分表示它是一个字节对象。这就是python打印东西的方式。引号也一样。

标签: python python-3.x base64


【解决方案1】:
print(str(encoded).replace("b", ""))

【讨论】:

  • 非常感谢您的快速回复,我将如何删除引号?
  • @99Con 你确定这是你想要的吗?如果ZGF0YSB0byBiZSBlbmNvZGVk 是您的base-64 字符串,这将导致ZGF0YSB0yBiZSBlmNvZGVk
  • print(str(encoded).replace("b", "").strip('"\'')) (stackoverflow.com/a/1482660/3286487)
  • 我投了反对票,因为它是 a) 解决没有真正问题的问题,b) 如果编码数据中有任何 b,则会损坏数据。
  • 这是对所陈述问题的解决方案。如果您认为这是一个“真正的问题”,那么您(否决)就该问题而不是解决方案投票。另外,您如何确定它是否会损坏数据?您不知道原始问题的要求。这可能是一种简化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 2022-01-24
  • 2017-06-16
相关资源
最近更新 更多