【问题标题】:Decode base64 string without newline character解码没有换行符的base64字符串
【发布时间】:2020-09-30 15:52:57
【问题描述】:

我正在处理一些 base64 数据。预期的输出是 6 个十六进制数字,如第一个示例所示。但是有时我会得到一个换行符,就像在第二个例子中一样(有 5 个十六进制值)

base64.b64decode('DAAI9BTT')
b'\x0c\x00\x08\xf4\x14\xd3'
base64.b64decode('DAAKRRTT')
b'\x0c\x00\nE\x14\xd3'

我怀疑我得到的值是 0A,它被转换为换行符。当我修剪换行符时,我错过了一个十六进制值

【问题讨论】:

    标签: python python-3.x base64


    【解决方案1】:

    \n 只是来自__repr__ 的字节数组的字符串表示形式。将字节数组的内容提取到一个列表中,你会得到你所期望的:

    [p for p in base64.b64decode('DAAKRRTT')]
    # Output: [12, 0, 10, 69, 20, 211]
    

    或者,十六进制:

    [hex(p) for p in base64.b64decode('DAAKRRTT')]
    # Output: ['0xc', '0x0', '0xa', '0x45', '0x14', '0xd3']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多