关于/** * 存储图片16进制串为图片文件 * @param src 图片16进制文本串 * @param output 要保存的图像文件路径 */ public void saveToImgFile(String src,String output){ if(src==null||src.length()==0){ return; } try{ FileOutputStream out = new FileOutputStream(new File(output)); byte[] bytes = tBytes(); for(int i=0;i<bytes.length;i+=2){ out.write(charToInt(bytes[i])*16+charToInt(bytes[i+1])); } ose(); }catch(Exception e){ intStackTrace(); } } private int charToInt(byte ch){ int val = 0; if(ch>=0x30&&ch<=0x39){ val=ch-0x30; }else if(ch>=0x41&&ch<=0x46){ val=ch-0x41+10; } return val; }的问题
给你代码:
typedef unsigned char byte;
//这是个转换的基础数组,使用查表的方法将十六进制字符转换成数值
static const char DIGITCHAR[16] = “0123456789ABCDEF”;
/**
* 将十六进制字符转换为数值
* @param ch 十六进制字符
* @return 0-15
* 如果输入的不是十六进制数,返回255(也就是char类型的-1)
*/
byte charToByte(byte ch) {
int i;
byte ch1 = toupper(ch);
for (i = 0; i 2 * destLen) {
srcLen = 2 * destLen;
}
//开始进行转换
for (i = 0; i 0) {
//有目标数据,写入文件
iWrite = fwrite(oBuf, 1, iLen, ofd);
if (iWrite