当前位置:   article > 正文

图片和16进制 互相转换_图片转16进制

图片转16进制

/**
* 图片转十六进制
/
public static class ImageToHex {
public static void main(String[] args) throws Exception {
try {
StringBuffer sb = new StringBuffer();
FileInputStream fis = new FileInputStream(“C:\Users\wb-wsj429645\Desktop\RZE.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);
/

* 将十六进制串保存到txt文件中
*/
PrintWriter pw = new PrintWriter(
new FileWriter(“C:\Users\wb-wsj429645\Desktop\RZE.txt”));
pw.println(str);
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}

    /**
     * 实现字节数组向十六进制的转换方法一
     *
     * @param b
     * @return
     */
    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();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

===================================================================

/**

  • 十六进制转图片
    */
    class Hex2Image {
    public static void main(String[] args) throws Exception {
    Hex2Image to = new Hex2Image();
    InputStream is = new FileInputStream(“C:\Users\wb-wsj429645\Desktop\RZE.txt”);
    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);
    }
    to.saveToImgFile(sb.toString().toUpperCase(), “C:\Users\wb-wsj429645\Desktop\qqq.jpg”);
    }

    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.write(charToInt(bytes[i]) * 16 + charToInt(bytes[i + 1]));
    }
    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;
    }
    }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/715967
推荐阅读
相关标签
  

闽ICP备14008679号