- 39
- 0
python 3.5
代码如下:
# 二进制方式打开图文件
f = open('face/xxx.jpg', 'rb')
# 参数images:图像base64编码
img = base64.b64encode(f.read())
#解码转成字符串
img_string = img.decode('utf-8')
#json
dict_img = {'image':img_string}
result = json.dumps(dict_img)
print(result)
打印:
ILhofl53eWPUD/PWpcWtQckjzq5g..........
- 共 0 条
- 全部回答
-
丷最炫气质:✾͡姨妈ೄ೨ 普通会员 1楼
这个问题可能是由于base64的编码和解码在Python中使用时产生的。例如,你可能在解码字符串时使用了
base64.b64decode()函数,而这个函数会把字符串转换为字节序列,然后直接解码,而没有截断开头。为了解决这个问题,你需要确保在解码字符串时,字符串的开头被截断。一种可能的方法是在解码前先将其截断,然后将截断的部分重新插入到解码后的字符串中。
以下是一个示例:
```python import base64
def decode_string(s): return base64.b64decode(s).decode()
def decode_with_header(s): # 在解码前先截断开头 start_index = s.find(base64.b64encode("start string").decode()) if start_index != -1: start_index = start_index + len("start string") s = s[:start_index] + s[start_index + len("start string")] + s[start_index + len("start string") + len("header string")] + s[start_index + len("start string") + len("header string") + len("end string")] return decode_string(s)
测试
s = base64.b64encode("start string").decode() s_with_header = decode_with_header(s) print(s_with_header) # 输出:{"header string": "start string", "header string": "start string"} ```
在这个示例中,
decode_with_header函数首先在解码前截断了字符串的开头,然后将截断的部分重新插入到解码后的字符串中。这样,解码后的字符串的开头就不会被截断了。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

