【发布时间】:2018-12-03 04:13:20
【问题描述】:
所以,我有一个被归类为“对象”的 pandas 数据帧,但实际上是 base64 编码的有效负载,我想将其转换为十六进制。
raw
AIgIm/H/SfwAR2IBAgMgAgIAAQMCAFoAcQAAAAAAAAFxAAAAAAAAA4gAAABiAF8AABI=
AIgIm/v/SfsAUNwBAgMgAgIAEgMCAEIAcQAAAAAAAAFxAAAAAAAAA4gAAABkAF8AAAw=
AIgIm/z/Sg4AVroBAgMgAgIA6wMCAFgAcQAAAAAAAAFxAAAAAAAAA4geAAFEADoAGQs=
使用https://cryptii.com/base64-to-hex 我得到这些值(这是我所期望的):
new_raw
00 88 08 9b f1 ff 49 fc 00 47 62 01 02 03 20 02 02 00 01 03 02 00 5a 00 71 00 00 00 00 00 00 01 71 00 00 00 00 00 00 03 88 00 00 00 62 00 5f 00 00 12
00 88 08 9b fb ff 49 fb 00 50 dc 01 02 03 20 02 02 00 12 03 02 00 42 00 71 00 00 00 00 00 00 01 71 00 00 00 00 00 00 03 88 00 00 00 64 00 5f 00 00 0c
00 88 08 9b fc ff 4a 0e 00 56 ba 01 02 03 20 02 02 00 eb 03 02 00 58 00 71 00 00 00 00 00 00 01 71 00 00 00 00 00 00 03 88 1e 00 01 44 00 3a 00 19 0b
根据之前提出的类似问题,我已经尝试过:
df['new_raw'] = df['raw'].apply(lambda x: x.decode("base64").encode("hex"))
但这给了我:
AttributeError: 'str' object has no attribute 'decode'` error.
【问题讨论】: