我正在编写一个C ++程序,我需要转换一些基本上是HEX格式的字符串输出。此输出字符串以FFD8开头,结束时以FFD9开头,基本上是JPEG图像。
现在,我想从该字符串输出中获取JPEG文件,但我不想将该字符串输出保存在文本文件中,并以ios :: binary模式打开它,然后将其转换为JPEG文件。
std::string output; //which is FFD8..........FFD9
//******some code*******???
ofstream imageFile;
imageFile.open('Image.jpg');
imageFile<< output;
如果不将我的字符串输出保存在文件中,我该怎么做?
提前致谢!
答案 0 :(得分:0)
我的假设是你有一个代表十六进制的字符串,你想将其转换为等效的字节。
byte hexCharToByte(const char h){
if(isdigit(h))
return h - '0';
else
return toupper(h) - 'A' + 10;
}
这是我在C中写的一些代码,它接受一个char并将其转换为一个字节。您可以根据需要进行调整。
工作原理: