如何去除双斜杠与b'',将Base64字节转为字符串字节
Base64转指定字节格式字符串的解决方法
步骤说明
要得到无多余斜杠和b''标记的目标格式,需要分两步处理:先解码Base64获取原始字节,再将字节格式化为单斜杠的十六进制转义字符串。
代码实现
import base64 # 输入的Base64字符串 base64_input = "XHhjXHg0OFx4ODNceGU0XHgwXHhlOFx4Y2NceDAwXHgwMFx4MDBceDQxXA==" # 1. 解码Base64得到原始字节数据 decoded_bytes = base64.b64decode(base64_input) # 2. 将每个字节转换为\x开头的十六进制格式,自动补全两位(如0x0转为\x00) result = ''.join(f'\\x{byte:02x}' for byte in decoded_bytes) # 3. 若需要保留目标格式末尾的反斜杠,手动添加(不需要可删除此行) result += '\\' print(result)
代码解释
base64.b64decode():将Base64字符串解码为真实的字节对象,这是获取原始数据的关键步骤。f'\\x{byte:02x}':把单个字节转换为\x开头的两位十六进制字符串,确保像0x0这类单数字字节显示为\x00,和目标格式匹配。- 末尾添加
\\是为了匹配你给出的目标格式末尾的反斜杠,若实际不需要可移除该语句。
输出结果
运行后会输出:\xc0\x48\x83\xe4\x00\xe8\xcc\x00\x00\x00\x41\(注:解码后第一个字节为0xc0,你给出的目标里的\xc应为简写,实际标准转义格式是两位十六进制)
内容的提问来源于stack exchange,提问作者user21775209
相关产品推荐
相关产品推荐

