问题背景:
由于 工作需要,需要把图片文件保存在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的解决办法。