怎么用vc把图片读取成16进制字符串

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:08:38
我是要把图片转化成16进制字符串,然后在把字符串用base64编码,用xml传输出去,然后在接收,后在转化回来,在把图片还原
详细的编码
在wince下读图片,请问你的那个文件映射能讲一下吗

字符串?你把图片当成二进制数据读取,然后用Base64 Encode就是。Base64是会把二进制数据编码成ACSII字符串,再传递即可,基本流程大致如下:
HANDLE hImageFile = CreateFile( ... );//图片文件
DWORD dwFileSize = GetFileSize( hImageFile, NULL );
LPVOID lpImageFileData = GlobalAlloc( GPTR, dwFileSize );

DWORD dwReaded = 0;
ReadFile( hImageFile, lpImageFileData, dwFileSize, &dwReaded, NULL );//读取整个图片文件。实际上用文件映射而不是ReadFile,更高效。

LPSTR lpBase64Encode = (LPSTR)GlobalAlloc(GPTR, dwFileSize * 2 );
DWORD dwEncodedSize = dwFileSize * 2;
Base64Encode( lpImageFileData, dwFileSize, lpBase64Encode, &dwEncodedSize );
SendData( lpBase64Encode, dwEncodedSize );

webServices?
我有完整的代码,要的话QQ408543103