java实现十六进制数据与图片的互相转换的代码

将内容过程中比较常用的内容做个珍藏,如下的内容内容是关于 java实现十六进制数据与图片的互相转换的内容。

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.util.HashMap;
import java.util.Map;

public class Hex2Image {
	public static void main(String[] args) throws Exception {
		Hex2Image to=new Hex2Image();
		InputStreamReader isr = new InputStreamReader(is);
		BufferedReader br = new BufferedReader(isr);
		String str = null;
		StringBuilder sb = new StringBuilder();
		while ((str = br.readLine()) != null) {
			System.out.println(str);
			sb.append(str);
		}
	
	}
	public void saveToImgFile(String src,String output){
	       if(src==null||src.length()==0){
	           return;
	       }
	       try{
	           FileOutputStream out = new FileOutputStream(new File(output));
	           byte[] bytes = src.getBytes();
	           for(int i=0;i<bytes.length;i+=2){
	           }
	           out.close();
	       }catch(Exception e){
	           e.printStackTrace();
	       }
	   }
	   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;
	   }
}

2图片转成16进制

import java.io.BufferedInputStream;  
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.FileWriter;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.PrintWriter;  
  
public class ImageToHex {  
    public static void main(String[] args) throws Exception {  
      
    try{   
        StringBuffer sb = new StringBuffer();   
        FileInputStream fis = new FileInputStream("f:/345.jpg");   
        BufferedInputStream bis = new BufferedInputStream(fis);   
        java.io.ByteArrayOutputStream bos=new java.io.ByteArrayOutputStream();  
          
        byte[] buff=new byte[1024];  
        int len=0;  
        while((len=fis.read(buff))!=-1){  
            bos.write(buff,0,len);  
        }  
        byte[] result=bos.toByteArray();  
      
          
        System.out.println("++++"+byte2HexStr(result));  
        String str=byte2HexStr(result);  
           pw.println(str);     
           pw.close();  
        }catch(IOException e){   
        }   
      
}  
    public static String byte2HexStr(byte[] b) {  
        String hs="";  
        String stmp="";  
        for (int n=0;n<b.length;n++) {  
            stmp=(Integer.toHexString(b[n] & 0XFF));  
            if (stmp.length()==1) hs=hs+"0"+stmp;  
            else hs=hs+stmp;  
        }  
        return hs.toUpperCase();  
    }  
      
    private static byte uniteBytes(String src0, String src1) {  
        byte b0 = Byte.decode("0x" + src0).byteValue();  
        b0 = (byte) (b0 << 4);  
        byte b1 = Byte.decode("0x" + src1).byteValue();  
        byte ret = (byte) (b0 | b1);  
        return ret;  
    }  
    public static String bytesToHexString(byte[] src){  
  
        StringBuilder stringBuilder = new StringBuilder("");  
        if (src == null || src.length <= 0) {  
            return null;  
        }  
        for (int i = 0; i < src.length; i++) {  
            int v = src[i] & 0xFF;  
            String hv = Integer.toHexString(v);  
            if (hv.length() < 2) {  
                stringBuilder.append(0);  
            }  
            stringBuilder.append(hv);  
        }  
        return stringBuilder.toString();  
  
    }  
  
  
  
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值