C ++:解码通过Base64编码和UTF-8解码的HTTP响应

时间:2019-07-12 11:23:41

标签: c++ boost

我有一个C ++程序,它正在接收编码的二进制数据作为HTTP响应。响应需要解码并存储为二进制文件。发送二进制数据的HTTP服务器是用Python编写的,下面是执行编码的示例代码。

#!/usr/bin/env python3
import base64

# content of the file is string "abc" for testing, the file could be an image file
with open('/tmp/abc', 'rb') as _doc:
  data = _doc.read() 
# Get Base-64 encoded bytes
data_bytes = base64.b64encode(data)
# Convert the bytes to a string
data_str = data_bytes.decode('utf-8')
print(data_str)

现在,我想使用C ++程序解码接收到的data_str。我可以使下面的python等效以正常工作。

_data = data_str.encode('utf-8')
bin_data = base64.b64decode(_data)

但是,对于C ++,我尝试使用Boost库的from_utf8方法,但无济于事。谁能指导用C ++解码和获取二进制数据的最佳方法(最好是使用boost,因为它是可移植的)?

0 个答案:

没有答案