Python 将base64字符串解码为十进制字符串

Python 将base64字符串解码为十进制字符串,python,string,encoding,base64,Python,String,Encoding,Base64,我有一个字符串sayFhY=,它已被编码为十六进制。所以当你跑步的时候 >>> b6 = 'FhY=' >>> b6.decode('base64') '\x16\x16' 这是一个十六进制字符串,转换后应22。这一结果已在现场得到验证。但是,我似乎无法正确地将base64转换为十进制表示。我面临的一些挑战是 小数点是整数的期望值。我只需要以10为基数 值不正确。我尝试了以下转换base64>base16(),base64>二进制>十进制(),但都失败了 请

我有一个字符串say
FhY=
,它已被编码为十六进制。所以当你跑步的时候

>>> b6 = 'FhY='
>>> b6.decode('base64')
'\x16\x16'
这是一个十六进制字符串,转换后应
22
。这一结果已在现场得到验证。但是,我似乎无法正确地将base64转换为十进制表示。我面临的一些挑战是

  • 小数点是整数的期望值。我只需要以10为基数
  • 值不正确。我尝试了以下转换
    base64>base16
    (),
    base64>二进制>十进制
    (),但都失败了
    请协助。

    您需要将解码字符串中的每个字节转换为十进制值。因此,这应该解决这个问题:

    b6='FhY='
    ''.join([str(ord(c))表示b6中的c.decode('base64')]))
    

    22中的结果22

    是否有您不使用
    struct
    的原因?我还没有看过它。让我这样做now@IgnacioVazquez-Abrams可能是因为他需要一个例子:P
    struct.unpack('H','\x16\x16')
    maybe?谢谢@JoranBeasley。似乎有效。然而,是否有一种解决方案不涉及两步流程?一个从base64直接到base10?谢谢,看起来不错。这个函数是可逆的吗?如何将生成的base-10文本映射回base-64字符串?@Leonid您可以使用
    ''反转该函数。join(map(lambda x:chr(int(x)),'22'.split())。encode('base64')