图片和16进制字符串互转

本文介绍如何在Java环境下将图片转换为16进制字符串,并详细阐述了从16进制字符串还原回图片的方法,涵盖了图像数据的二进制到字符串的编码过程。
摘要由CSDN通过智能技术生成

1、图片转16进制字符串

package com.example.demo.util;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * 图片转成十六进制
 *
 * @author Administrator
 */
public class ImageToHex {
    public static void main(String[] args) throws Exception {
        try {
            StringBuffer sb = new StringBuffer();
            FileInputStream fis = new FileInputStream("e:/456.png");
            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();
            //字节数组转成十六进制
            String str = byte2HexStr(result);
            //图片转16进制
            System.out.println(str);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    /*
     *  实现字节数组向十六进制的转换方法一
     */
    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();

    }


}

2、16进制转图片

package com.example.demo.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * 十六进制转成图片
 * @author Administrator
 *
 */
public class Hex2Image {
    public static void main(String[] args) throws Exception {
        Hex2Image to=new Hex2Image();
        to.saveToImgFile("89504E470D0A1A0A0000000D4948445200000140000001400806000000CD90A5AA000000017352474200AECE1CE900000044655849664D4D002A00000008000187690004000000010000001A000000000003A00100030000000100010000A00200040000000100000140A0030004000000010000014000000000625F27F400004000494441547801ED7D099C1D459DFFEFF7DE9B99DCE02422418E40827204147011989964C84C3209180431EA8222CAB1B2E0FE57C5D55D5047F05815645D7171395654C0C588205172CD84616682CA7228A76802E150409220845C33EFF5EFFFAD7E9330C73BBAFB755757BF57F5F9CC74BFEEAA5FFDEA5B55DFAEF3574CD65904022020AD678F237EF1007206F72287A612C934125C85A7120FDD33E1194F20A67A126920665C095719BAE2B7722203F0B3137E87AEEA37E337E12ADB70DD88F79BF01E57D9E4DE13EE537896A39728B3DFB3DC73E38E00C9B0416A1C01AEF1F4DBE41741404498E676CC20C79949ECE0CA07827C66808470255C656F0435A5FC0808F34510E506E8F83474DC4029754D6DA04C661DDDBDFC1966962249B58F6B1801530A700D6741FC4997D653F724D972045A5347409B23412447A259361BF793E3D72E140DB680AB1F055D3F0C690F539A1E219EFC08F7DCF1B750A45B218945C0126062B32E98E2B26851036DCD1D43E23491234D2085A3D09ADB3F98B48487627E1664FF10A5782D716A2D4D4C3FC0CB97EF4C78AAACFA3E10B004E803AC247A95D6C5D3C8D97102BAB24D68D5E18FDFE58EC725313151EBACC61D49EE07466B2905424C8DBB977B966D8C3A5A2B3F3E042C01C6877D2431CBF9E7D7D1134F9F00925B84CABC08577467AD0B8C0033BACDBC1C638CCBE9D003EFE56BAF1D0C2CCB06340E014B80C665897F8564CE82FDD0A55DE8929E501B886F8A7F2936447904F8350C1974BB64C8A915DCBBEAB9F261AC0F9311B0046872EE94D04D5A171C42B9DC073086F57E109F9ABCB04E3702CC984CA19F513AFD53EE59F507DDD1DBF82A47C01260E5186A9320AD1DB3289755A4F741DBB5D506BBB788545799E9564A6740862BD7790B647DC58D8025C0B873A04CFCD2BA685FCA0D9C31447A4797F16E5F9B8000F3837932ACBF857B963F6F824A5687C20858022C8C4BAC4FA5B53343B9FE93D1CA3B0F8AA8B1BD74AC0AD9C88321C09C43C0151833BC8ED2CDBFE29ECE6C30413654540858028C0AD90072A5B9FD2090DD39683D7C0CD7E90144D820A622C0FC025AF13F0019DEC0FD5D4F99AA66ADE9650930E61C97CECE14ADEE3F155BB82E00E9610617F4675D3523A0B6ED7563BBDE3534BFF90EEEEC74AA39B1A6A7CD56B6987248162F9E40AF6C532DBD4F41859931A961A38D1781F520C3ABE84D137EC0CB966D8B5795DA8CDD12A0E67C97D693F6A6ECC04520BE0BB05EAF5173F4363A2311E0CD20C26B28537F35F7DCF5A2912A56A95296003565ACCC693F147B6F2F46746782FC1A34456BA3491202EE563CBA9932E96FD975857A32CE1260C438CB9CF90753CEF922A239032DBE54C4D159F1558100AB71C15B289DBA8C7B57FFA92A926468222C01469431D2BA70066507BF00D23B0BB37F9988A2B162AB1901262C9BE11F51A6EE72EE59B1A19A931A57DA2C01868CBCBB707970F01222E71C88AE0B59BC15579B08C00043EA06AAABFBAA5D581D6E01B00418129ED2DEBE07ED10D5D5BDD08EF18504AA15331281FC18E1F7681C5FC65D5DAF8E7C697F0541C0126010D4868591254BD2F497CDE7621DDFE5E8EABE79D82B7B6B11880601A697B18EF00BB44FE3F5BC74A9DA6D625D40042C0106044E0593B96D27C28CFC7FA0C5676DEE5580A30D1A10016580214DFFCCF774DF1D5042CD07B30418A008B85BD6C8F9165A7CEF0B10DC06B108848B00D3CF3146F859BBC5CE3FAC96007D6096B7B6BCFE5F417CFF66C7F97C0067BD468F801A1F64FA1A1D3AF3EBD66AB577B82D017AC44A9ADA8FC3F190D783FC0EF718C47AB308E84780E9312C373D97D776FD467FE4C98BD11260993C93D6259328BBF9AB20BE8BEC42E63260D9D786208085D44C5753A6F112EE59FABA214A19A98625C012D9224DF316618FE6F7D1DDDDBF8437FBAA18024C3BF04A9DAAF62A662D07502977024B5C714FB8275257E5EAF1D78077F578578F8F4D0366D5D5B33DF0370DBFC7E16A9D5F04DC633FE513BC76CD72BF416BC5BF25C002398DB373A7D06B03DF438BEFC3055EDB478AD8849E01596D00B13D8DA1810D44E96781D7CB94A24DE4E0EF4DE3378665E1246F3967FB34C89E0AD953B13B02CB8D72FBA3AB37034479208813573AC01265B1A2C937D194FA0B71E6F16BC57CD4EA734B80A3721E33BCCD3861EDC7783C63D4AB5AFCB90564F328C8E561245E2DB978849CCC3AEA5DF122338B49808808D39C857B532A8B7353481D1275240811CB936436EE279BA46B4CBA6CA054FAC3DCB77A6D4CF11B19AD25C0A16CC99BA1EFFB222A8D9AE14D1B995BD12AB51D44771F5A7438109CEF234E3D4CF7ACDC601AD1F985C025C6B91D33F0513B12D6788E458BB109797C2CE48CF72B2BF1FE95897E35539C6EB9CC9AE7CFE7A62540E020F316CDA4819D37A362BC3BF185DC7302F8AFF0DA07B2438BC0594B87CE7AA856964FE49733AD3B0A6BE79A408A4DC0A105A5602FCFD025DD23D36FA9BEE14C5EB37C7DD29352A9FE354F80D2D4F651B40AAE06F94DAA144CA3C3BB07F4885A1A8101F1CC0AEA5BF960D25B7761E1EDB6125B3A8E26CA2E84CC45E8F61F57F5BD00A6D7D1DABF88D776FF302C1C9328A7660910131D0D98E8B81A5FFE73939871DE7486A561A23B41F0775166CA6AEEB9E36FDEC2D5B62F693D754FCABE361F04711290380565A4B17A11E1EB314172112648D4AC7CCDB99A24404C746006516E43C17E57D5E538F3AB18E7B9035DBB5BE9F0595DB5D2AD8D2A1FDDEEF263EBDA315480C3E8E954941BB534A7CA1CDF8F19FDD3B1950E33F9B5E56A8E00A5657E1B49EE7F5198A7554F56B33A50E776B4F46EA5E95357C242C8AEF575D59344035202CB3FF5F4C2A60EB40C3F08754EC3077482016A85A30263BD26A73F8459E2EE700426434A4D11A034CFFB1CC677B0ABA35A6679F921B44CAEA3497537DB355E7A2B9CBB56F4F5C133D1D2C6E1F58209952A70F971E24BB87FCD37AA20359E92501304E82EA4DDBCED4728A8A77B42C5684F8CC5AC7C0B96A95CCFFDAB1E305AD51A514E9A171C836536184B1675EECB94E4279B6FA3C6096785B590DD643CAA9E00A5ADED2DD8B7F04B14CCA48FF7ADC338CD553421FD435EB56AABC985AA567593050B26D2B6DC47D1C3F8143098956C1C302E388EDEC3DDDD2F253B1DA5B5AF6A029496B6C3D045B90B101C501A0683DF32DD8B2D5F57D2FCE63BB8B3539D16669DE1084867678A56F79F8A2D829FC158F30986AB5B4ABD6730C47212F7753F5ECA5392DF552D01CA9C05F3C8C9DE8602B86702334830937B3BA5F90A58FBFD7502F5B72A0F2100ABE1C7530EE7418B9A3441AE26CD31FD8D5299D3B977D59AA4A9EE45DFE465888754B98B9B49AE83D7E49DCAC67C3BBEBA5FE2DEAE473C24D57A49080232A7FD08F446BE8CEEB122C2A4399C4AC7E755E3A2E9AA2340CCF47E095FDBCEA49530E87B17AC9D7C81FBD63C9840DDADCA1E1190967947C3A2CDE5F0AE165927CB31756286F8CBC952BAB4B6554580B0DFF76D24570D4027C73175638CEF526BC13739591686A64316C6BF828F755B18F234CAB80AF6053FAD31BE48A3AA0A0274079DBBFAAE41F7E2FC48D10A5338F39F3033FD197C51978529D6CA4A1602E8B12C46F7F24A94DD8313A339F3B5D4DE7241354CCA259E005D3356837D37824CCE4C4401
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非ban必选

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值