关于如何用string保存二进制数据的问题

问题背景:

  由于 工作需要,需要把图片文件保存在hbase中, 这里呢,而提供的thrift接口只有string类型,没有bytes类型,导致在读出图片文件数据后,直接用string(pReadData)时,只保存了第一个结束符('\0')之前的数据。

解决过程:

  在网上找了很多让二进制转为string的方法或函数,一直没有找到,很是郁闷,幸好,在继续寻找的过程中,找到了一篇很受益的文章,如下:

  http://www.th7.cn/Program/cp/201210/92308.shtml

  该文章中提到,如下:

  

  

  于是继续在http://www.cplusplus.com/reference/string/string/string/中查注释,如下:

  

总结:

  其实一开始是有看过string的声明的,只是没有仔细看,导致这次解决问题花了一天多的时间,同时也有考虑用其他的方式访问hbase来做,但都是说thrift的语言移植性是最好的。所以继续找二进制转为string的解决办法。

原文地址:https://www.cnblogs.com/MarkGrid/p/3137849.html