十六进制字符串jpg图片互转
十六制字符串jpg图片互转(格式:FFD8FFE000104A******)如:FFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232FFC00011080058004803012200021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0BFFC400B51100020102040403040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00F7FA28ACBF10EB70787B42BAD52E3958532AB9FBEC780BF89A0076B5AFE9BE1FB2375A95CA429D141E59CFA01DEBCBB57F8DE03BC7A569C02F204970724FFC0474FCEBCB75DF126A5E28D61AE6EE4696673848D47CA83B2A8F4ABD65E10BAB840D3C8133D54734DB8C17BC5C61296C761A77C64D7448EF3C56D708173B0A6C23DC115B5A77C6E8E4942EA1A4948C9E5E193240FA11CFE75CB5AF85ADADEDCA6D62586093DEB1B54F0D35B8325B6463F84F4A855A0DD8D1D092573E8CD17C41A5F886D3ED1A6DDA4CA3EF28E193D88EA2B4EBE4CD175ED43C35ACC57B67214950F2A7A38EEAC3D2BEA0F0FEB50788743B5D52D81093A64A9EAAC3823F020D5B5630B1A745145200AF1DF8EDAD186CB4ED2236E642D3C833D870BFCDBF2AF62AF9D3E3679F3F8FA289C7C9F668D63E3B64E7F526AA3B8199E0FD26331FDA1973237F11EDF4AF44B28220A0605731A7E9EF15A476EB2F948AA0161D49ADFD3AD16D0EE5B992523AEF6CD724DA93BB67A14D5959235CC098FBB9ACCBF8E120AB0007BD6B971E56E2783E958375636524C64316641DC3722A2CBA9A4AFD0F3DF1669CB6D3F9E83E53DC57ABFC10D4C5CF866F2C5*********
/**
* 十六进制字节转字节数组
* Creates byte array representation of HEX string.<br>
* http://www.cnblogs.com/qgc88
* @param s
* string to parse
* @return
*/
public static byte[] fromHexString(String s) {
int length = s.length() / 2;
byte[] bytes = new byte[length];
for (int i = 0; i < length; i++) {
bytes[i] = (byte) ((Character.digit(s.charAt(i * 2), 16) << 4) | Character
.digit(s.charAt((i * 2) + 1), 16));
}
return bytes;
}
/**
* Creates HEX String representation of supplied byte array.<br/>
* Each byte is represented by a double character element from 00 to ff
* 实现字节数组向十六进制的转换方法一 http://www.cnblogs.com/qgc88
* @param fieldData
* to be tringed
* @return
*/
public static String toHexString(byte[] fieldData) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < fieldData.length; i++) {
int v = (fieldData[i] & 0xFF);
if (v <= 0xF) {
sb.append("0");
}
sb.append(Integer.toHexString(v));
}
return sb.toString();
}
//byte数组转图片 http://www.cnblogs.com/qgc88
public static void byte2image(byte[] data,String path){
if(data.length<3||path.equals("")) return;
try{
FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));
imageOutput.write(data, 0, data.length);
imageOutput.close();
System.out.println("Make Picture success,Please find image in " + path);
} catch(Exception ex) {
System.out.println("Exception: " + ex);
ex.printStackTrace();
}
}
public static void main(String[] args) {
String str2="ffd8ffe000104a46494600010100000100010000f****ee3fdf4ff00d0857927f0cbf43fccd483";
byte[] t=fromHexString(str2);
byte2image(t, "d://1.jpg");//转成保存图片
/********************图片转十六进制******************************/
try
{
StringBuffer sb = new StringBuffer();
FileInputStream fis = new FileInputStream("d:/1.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("++++" + toHexString(result));
// 字节数组转成十六进制
String str = toHexString(result);
//String str = byte2HexStr(result);
/* http://www.cnblogs.com/qgc88
* 将十六进制串保存到txt文件中
*/
PrintWriter pw = new PrintWriter(
new FileWriter("qgc88.txt"));
pw.println(str);
pw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
十六进制字符串jpg图片互转的更多相关文章
- C# base64编码的字符串与图片互转
protected string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new Bitmap(Imagefilena ...
- iOS 字符串和图片互转
for (UIImage *myImg in _imgArray) { NSData *imageData = UIImageJPEGRepresentation(myImg,0.5); NSStri ...
- Golang十六进制字符串和byte数组互转
Golang十六进制字符串和byte数组互转 需求 Golang十六进制字符串和byte数组互相转换,使用"encoding/hex"包 实现Demo package main i ...
- python 字节数组和十六进制字符串互转
. 字节数组 --> 十六进制字符串 >>> a = 'ab' >>> a.encode('hex') ' . 十六进制字符串 --> 字节数组 > ...
- UIColor与十六进制字符串互转
UIColor转十六进制字符串 方法一:经过测试发现部分颜色会转化为#fffff(五个f),转化残缺导致最后颜色无法还原,不推荐使用. // UIColor转#ffffff格式的字符串 + (NSSt ...
- delphi十六进制字符串hex转byte数组互相转换bmp图片
procedure Hex2Png(str: string; out png: TPngObject); var stream: TMemoryStream; begin if not Assigne ...
- 直接用<img> 的src属性显示base64转码后的字符串成图片
直接用<img> 的src属性显示base64转码后的字符串成图片 <img src="base64转码后的字符串" ></img> 下面的图片 ...
- Java中将0x开头的十六进制字符串转换成十进制整数
1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...
- Base64 字符串转图片 问题整理汇总
前言 最近碰到了一些base64字符串转图片的开发任务,开始觉得没啥难度,但随着开发的进展还是发现有些东西需要记录下. Base64 转二进制 这个在net有现有方法调用: Convert.FromB ...
随机推荐
- Golang tcp转发 remoteAddr错误
Golang tcp 转发 第一版本 accept获取的Conn里的localAddr做为源地址,remoteAddr来做为目的地址 // tcpForward package main import ...
- k8s的高级调度方式
默认的scheduler的调度过程:1.预选策略:从所有节点当中选择基本符合选择条件的节点.2.优选函数:在众多符合基本条件的节点中使用优选函数,计算节点各自的得分,通过比较进行排序.3.从最高得分的 ...
- 【php】expose_php 作用
php.ini expose_php = On expose_php = Off
- matplotlib学习记录 三
# 绘制自己和朋友在各个年龄的女友数量的折线图 from matplotlib import pyplot as plt # 让matplotlib能够显示中文 plt.rcParams['font. ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- poj 1742 多重背包问题 dp算法
题意:硬币分别有 A1.....An种,每种各有C1......Cn个,问组成小于m的有多少种 思路:多重背包问题 dp[i][j]表示用前i种硬币组成j最多剩下多少个 dp=-1的表示凑不齐 dp ...
- Java装饰者模式(Decorator)
一.定义 装饰模式的设计理念主要是以对客户端透明的方式动态扩展对象的功能,是继承关系的一个替代(继承会产生大量的子类,而且代码有冗余).装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展.装饰 ...
- session工作原理
什么是Sesson? 这个是状态保持三大对象之一! 原意是会话,会议的意思! 就是你打开浏览器到关闭浏览器 这期间称为一个会话,也就是一个session, 它是保存在服务器端的. 每当客户端请求页面时 ...
- Python虚拟机之while循环控制结构(三)
Python虚拟机中的while循环控制结构 在Python虚拟机之if控制流(一)和Python虚拟机之for循环控制流(二)两个章节中,我们介绍了if和for两个控制结构在Python虚拟机中的实 ...
- 关于.net 项目 nuget包还原项目失败的记录
在.net项目中,一般通过vs打开项目,会自动进行nuget包还原,可能因为其他一些因素,包还原失败,同时在之前包依赖是可以正常使用,现在却提示包 AutoMapper 6.2.2 与 netcore ...