在eclipse中将一个PNG图片转换成十六进制字节数组输出

时间:2023-01-11 14:05:54





PNG图像有自己特殊的格式,而这个格式可以通过十六进制字节流很清楚地看出。


有关PNG格式的讲解我是参考这位老师的:http://www.cnblogs.com/lidabo/p/3701197.html


将图片转为十六进制字节数组的代码是参考这位老师的:http://blog.csdn.net/evangel_z/article/details/7453402


为了能更直观地比较,我稍做了些改动。代码如下:

<span style="font-size:14px;">package png;

import java.io.FileInputStream;

/**
* 图片转成十六进制
*/
public class PngBytes {

public static void main(String[] args) throws Exception {
try {
FileInputStream fis = new FileInputStream("image/1.png");
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("图片的字节数组:\n" + byte2HexStr(result));

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}

/*
* 实现字节数组向十六进制的转换方法一
*/
public static String byte2HexStr(byte[] b)
{
System.out.print("b.length:"+b.length+"\n");
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;
}
hs+=' ';
if(n!=0 && (n+1)%16==0){
hs+='\n';
}
}
return hs.toUpperCase();
}
}
</span>


之前新建了一个8*8的PNG图像用来测试,其在Ultra Edit中打开的效果如下:

在eclipse中将一个PNG图片转换成十六进制字节数组输出


java项目的控制台效果如下:

  1. b.length:2799
  2. 图片的字节数组:
  3. 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 
  4. 00 00 00 08 00 00 00 08 08 06 00 00 00 C4 0F BE 
  5. 8B 00 00 00 09 70 48 59 73 00 00 0E C3 00 00 0E 
  6. C3 01 C7 6F A8 64 00 00 0A 4D 69 43 43 50 50 68 
  7. 6F 74 6F 73 68 6F 70 20 49 43 43 20 70 72 6F 66 
  8. 69 6C 65 00 00 78 DA 9D 53 77 58 93 F7 16 3E DF 
  9. F7 65 0F 56 42 D8 F0 B1 97 6C 81 00 22 23 AC 08 
  10. C8 10 59 A2 10 92 00 61 84 10 12 40 C5 85 88 0A 
  11. 56 14 15 11 9C 48 55 C4 82 D5 0A 48 9D 88 E2 A0 
  12. 28 B8 67 41 8A 88 5A 8B 55 5C 38 EE 1F DC A7 B5 
  13. 7D 7A EF ED ED FB D7 FB BC E7 9C E7 FC CE 79 CF 
  14. 0F 80 11 12 26 91 E6 A2 6A 00 39 52 85 3C 3A D8 
  15. 1F 8F 4F 48 C4 C9 BD 80 02 15 48 E0 04 20 10 E6 
  16. CB C2 67 05 C5 00 00 F0 03 79 78 7E 74 B0 3F FC 
  17. 01 AF 6F 00 02 00 70 D5 2E 24 12 C7 E1 FF 83 BA 
  18. 50 26 57 00 20 91 00 E0 22 12 E7 0B 01 90 52 00 
  19. C8 2E 54 C8 14 00 C8 18 00 B0 53 B3 64 0A 00 94 
  20. 00 00 6C 79 7C 42 22 00 AA 0D 00 EC F4 49 3E 05 
  21. 00 D8 A9 93 DC 17 00 D8 A2 1C A9 08 00 8D 01 00 
  22. 99 28 47 24 02 40 BB 00 60 55 81 52 2C 02 C0 C2 
  23. 00 A0 AC 40 22 2E 04 C0 AE 01 80 59 B6 32 47 02 
  24. 80 BD 05 00 76 8E 58 90 0F 40 60 00 80 99 42 2C 
  25. CC 00 20 38 02 00 43 1E 13 CD 03 20 4C 03 A0 30 
  26. D2 BF E0 A9 5F 70 85 B8 48 01 00 C0 CB 95 CD 97 
  27. 4B D2 33 14 B8 95 D0 1A 77 F2 F0 E0 E2 21 E2 C2 
  28. 6C B1 42 61 17 29 10 66 09 E4 22 9C 97 9B 23 13 
  29. 48 E7 03 4C CE 0C 00 00 1A F9 D1 C1 FE 38 3F 90 
  30. E7 E6 E4 E1 E6 66 E7 6C EF F4 C5 A2 FE 6B F0 6F 
  31. 22 3E 21 F1 DF FE BC 8C 02 04 00 10 4E CF EF DA 
  32. 5F E5 E5 D6 03 70 C7 01 B0 75 BF 6B A9 5B 00 DA 
  33. 56 00 68 DF F9 5D 33 DB 09 A0 5A 0A D0 7A F9 8B 
  34. 79 38 FC 40 1E 9E A1 50 C8 3C 1D 1C 0A 0B 0B ED 
  35. 25 62 A1 BD 30 E3 8B 3E FF 33 E1 6F E0 8B 7E F6 
  36. FC 40 1E FE DB 7A F0 00 71 9A 40 99 AD C0 A3 83 
  37. FD 71 61 6E 76 AE 52 8E E7 CB 04 42 31 6E F7 E7 
  38. 23 FE C7 85 7F FD 8E 29 D1 E2 34 B1 5C 2C 15 8A 
  39. F1 58 89 B8 50 22 4D C7 79 B9 52 91 44 21 C9 95 
  40. E2 12 E9 7F 32 F1 1F 96 FD 09 93 77 0D 00 AC 86 
  41. 4F C0 4E B6 07 B5 CB 6C C0 7E EE 01 02 8B 0E 58 
  42. D2 76 00 40 7E F3 2D 8C 1A 0B 91 00 10 67 34 32 
  43. 79 F7 00 00 93 BF F9 8F 40 2B 01 00 CD 97 A4 E3 
  44. 00 00 BC E8 18 5C A8 94 17 4C C6 08 00 00 44 A0 
  45. 81 2A B0 41 07 0C C1 14 AC C0 0E 9C C1 1D BC C0 
  46. 17 02 61 06 44 40 0C 24 C0 3C 10 42 06 E4 80 1C 
  47. 0A A1 18 96 41 19 54 C0 3A D8 04 B5 B0 03 1A A0 
  48. 11 9A E1 10 B4 C1 31 38 0D E7 E0 12 5C 81 EB 70 
  49. 17 06 60 18 9E C2 18 BC 86 09 04 41 C8 08 13 61 
  50. 21 3A 88 11 62 8E D8 22 CE 08 17 99 8E 04 22 61 
  51. 48 34 92 80 A4 20 E9 88 14 51 22 C5 C8 72 A4 02 
  52. A9 42 6A 91 5D 48 23 F2 2D 72 14 39 8D 5C 40 FA 
  53. 90 DB C8 20 32 8A FC 8A BC 47 31 94 81 B2 51 03 
  54. D4 02 75 40 B9 A8 1F 1A 8A C6 A0 73 D1 74 34 0F 
  55. 5D 80 96 A2 6B D1 1A B4 1E 3D 80 B6 A2 A7 D1 4B 
  56. E8 75 74 00 7D 8A 8E 63 80 D1 31 0E 66 8C D9 61 
  57. 5C 8C 87 45 60 89 58 1A 26 C7 16 63 E5 58 35 56 
  58. 8F 35 63 1D 58 37 76 15 1B C0 9E 61 EF 08 24 02 
  59. 8B 80 13 EC 08 5E 84 10 C2 6C 82 90 90 47 58 4C 
  60. 58 43 A8 25 EC 23 B4 12 BA 08 57 09 83 84 31 C2 
  61. 27 22 93 A8 4F B4 25 7A 12 F9 C4 78 62 3A B1 90 
  62. 58 46 AC 26 EE 21 1E 21 9E 25 5E 27 0E 13 5F 93 
  63. 48 24 0E C9 92 E4 4E 0A 21 25 90 32 49 0B 49 6B 
  64. 48 DB 48 2D A4 53 A4 3E D2 10 69 9C 4C 26 EB 90 
  65. 6D C9 DE E4 08 B2 80 AC 20 97 91 B7 90 0F 90 4F 
  66. 92 FB C9 C3 E4 B7 14 3A C5 88 E2 4C 09 A2 24 52 
  67. A4 94 12 4A 35 65 3F E5 04 A5 9F 32 42 99 A0 AA 
  68. 51 CD A9 9E D4 08 AA 88 3A 9F 5A 49 6D A0 76 50 
  69. 2F 53 87 A9 13 34 75 9A 25 CD 9B 16 43 CB A4 2D 
  70. A3 D5 D0 9A 69 67 69 F7 68 2F E9 74 BA 09 DD 83 
  71. 1E 45 97 D0 97 D2 6B E8 07 E9 E7 E9 83 F4 77 0C 
  72. 0D 86 0D 83 C7 48 62 28 19 6B 19 7B 19 A7 18 B7 
  73. 19 2F 99 4C A6 05 D3 97 99 C8 54 30 D7 32 1B 99 
  74. 67 98 0F 98 6F 55 58 2A F6 2A 7C 15 91 CA 12 95 
  75. 3A 95 56 95 7E 95 E7 AA 54 55 73 55 3F D5 79 AA 
  76. 0B 54 AB 55 0F AB 5E 56 7D A6 46 55 B3 50 E3 A9 
  77. 09 D4 16 AB D5 A9 1D 55 BB A9 36 AE CE 52 77 52 
  78. 8F 50 CF 51 5F A3 BE 5F FD 82 FA 63 0D B2 86 85 
  79. 46 A0 86 48 A3 54 63 B7 C6 19 8D 21 16 C6 32 65 
  80. F1 58 42 D6 72 56 03 EB 2C 6B 98 4D 62 5B B2 F9 
  81. EC 4C 76 05 FB 1B 76 2F 7B 4C 53 43 73 AA 66 AC 
  82. 66 91 66 9D E6 71 CD 01 0E C6 B1 E0 F0 39 D9 9C 
  83. 4A CE 21 CE 0D CE 7B 2D 03 2D 3F 2D B1 D6 6A AD 
  84. 66 AD 7E AD 37 DA 7A DA BE DA 62 ED 72 ED 16 ED 
  85. EB DA EF 75 70 9D 40 9D 2C 9D F5 3A 6D 3A F7 75 
  86. 09 BA 36 BA 51 BA 85 BA DB 75 CF EA 3E D3 63 EB 
  87. 79 E9 09 F5 CA F5 0E E9 DD D1 47 F5 6D F4 A3 F5 
  88. 17 EA EF D6 EF D1 1F 37 30 34 08 36 90 19 6C 31 
  89. 38 63 F0 CC 90 63 E8 6B 98 69 B8 D1 F0 84 E1 A8 
  90. 11 CB 68 BA 91 C4 68 A3 D1 49 A3 27 B8 26 EE 87 
  91. 67 E3 35 78 17 3E 66 AC 6F 1C 62 AC 34 DE 65 DC 
  92. 6B 3C 61 62 69 32 DB A4 C4 A4 C5 E4 BE 29 CD 94 
  93. 6B 9A 66 BA D1 B4 D3 74 CC CC C8 2C DC AC D8 AC 
  94. C9 EC 8E 39 D5 9C 6B 9E 61 BE D9 BC DB FC 8D 85 
  95. A5 45 9C C5 4A 8B 36 8B C7 96 DA 96 7C CB 05 96 
  96. 4D 96 F7 AC 98 56 3E 56 79 56 F5 56 D7 AC 49 D6 
  97. 5C EB 2C EB 6D D6 57 6C 50 1B 57 9B 0C 9B 3A 9B 
  98. CB B6 A8 AD 9B AD C4 76 9B 6D DF 14 E2 14 8F 29 
  99. D2 29 F5 53 6E DA 31 EC FC EC 0A EC 9A EC 06 ED 
  100. 39 F6 61 F6 25 F6 6D F6 CF 1D CC 1C 12 1D D6 3B 
  101. 74 3B 7C 72 74 75 CC 76 6C 70 BC EB A4 E1 34 C3 
  102. A9 C4 A9 C3 E9 57 67 1B 67 A1 73 9D F3 35 17 A6 
  103. 4B 90 CB 12 97 76 97 17 53 6D A7 8A A7 6E 9F 7A 
  104. CB 95 E5 1A EE BA D2 B5 D3 F5 A3 9B BB 9B DC AD 
  105. D9 6D D4 DD CC 3D C5 7D AB FB 4D 2E 9B 1B C9 5D 
  106. C3 3D EF 41 F4 F0 F7 58 E2 71 CC E3 9D A7 9B A7 
  107. C2 F3 90 E7 2F 5E 76 5E 59 5E FB BD 1E 4F B3 9C 
  108. 26 9E D6 30 6D C8 DB C4 5B E0 BD CB 7B 60 3A 3E 
  109. 3D 65 FA CE E9 03 3E C6 3E 02 9F 7A 9F 87 BE A6 
  110. BE 22 DF 3D BE 23 7E D6 7E 99 7E 07 FC 9E FB 3B 
  111. FA CB FD 8F F8 BF E1 79 F2 16 F1 4E 05 60 01 C1 
  112. 01 E5 01 BD 81 1A 81 B3 03 6B 03 1F 04 99 04 A5 
  113. 07 35 05 8D 05 BB 06 2F 0C 3E 15 42 0C 09 0D 59 
  114. 1F 72 93 6F C0 17 F2 1B F9 63 33 DC 67 2C 9A D1 
  115. 15 CA 08 9D 15 5A 1B FA 30 CC 26 4C 1E D6 11 8E 
  116. 86 CF 08 DF 10 7E 6F A6 F9 4C E9 CC B6 08 88 E0 
  117. 47 6C 88 B8 1F 69 19 99 17 F9 7D 14 29 2A 32 AA 
  118. 2E EA 51 B4 53 74 71 74 F7 2C D6 AC E4 59 FB 67 
  119. BD 8E F1 8F A9 8C B9 3B DB 6A B6 72 76 67 AC 6A 
  120. 6C 52 6C 63 EC 9B B8 80 B8 AA B8 81 78 87 F8 45 
  121. F1 97 12 74 13 24 09 ED 89 E4 C4 D8 C4 3D 89 E3 
  122. 73 02 E7 6C 9A 33 9C E4 9A 54 96 74 63 AE E5 DC 
  123. A2 B9 17 E6 E9 CE CB 9E 77 3C 59 35 59 90 7C 38 
  124. 85 98 12 97 B2 3F E5 83 20 42 50 2F 18 4F E5 A7 
  125. 6E 4D 1D 13 F2 84 9B 85 4F 45 BE A2 8D A2 51 B1 
  126. B7 B8 4A 3C 92 E6 9D 56 95 F6 38 DD 3B 7D 43 FA 
  127. 68 86 4F 46 75 C6 33 09 4F 52 2B 79 91 19 92 B9 
  128. 23 F3 4D 56 44 D6 DE AC CF D9 71 D9 2D 39 94 9C 
  129. 94 9C A3 52 0D 69 96 B4 2B D7 30 B7 28 B7 4F 66 
  130. 2B 2B 93 0D E4 79 E6 6D CA 1B 93 87 CA F7 E4 23 
  131. F9 73 F3 DB 15 6C 85 4C D1 A3 B4 52 AE 50 0E 16 
  132. 4C 2F A8 2B 78 5B 18 5B 78 B8 48 BD 48 5A D4 33 
  133. DF 66 FE EA F9 23 0B 82 16 7C BD 90 B0 50 B8 B0 
  134. B3 D8 B8 78 59 F1 E0 22 BF 45 BB 16 23 8B 53 17 
  135. 77 2E 31 5D 52 BA 64 78 69 F0 D2 7D CB 68 CB B2 
  136. 96 FD 50 E2 58 52 55 F2 6A 79 DC F2 8E 52 83 D2 
  137. A5 A5 43 2B 82 57 34 95 A9 94 C9 CB 6E AE F4 5A 
  138. B9 63 15 61 95 64 55 EF 6A 97 D5 5B 56 7F 2A 17 
  139. 95 5F AC 70 AC A8 AE F8 B0 46 B8 E6 E2 57 4E 5F 
  140. D5 7C F5 79 6D DA DA DE 4A B7 CA ED EB 48 EB A4 
  141. EB 6E AC F7 59 BF AF 4A BD 6A 41 D5 D0 86 F0 0D 
  142. AD 1B F1 8D E5 1B 5F 6D 4A DE 74 A1 7A 6A F5 8E 
  143. CD B4 CD CA CD 03 35 61 35 ED 5B CC B6 AC DB F2 
  144. A1 36 A3 F6 7A 9D 7F 5D CB 56 FD AD AB B7 BE D9 
  145. 26 DA D6 BF DD 77 7B F3 0E 83 1D 15 3B DE EF 94 
  146. EC BC B5 2B 78 57 6B BD 45 7D F5 6E D2 EE 82 DD 
  147. 8F 1A 62 1B BA BF E6 7E DD B8 47 77 4F C5 9E 8F 
  148. 7B A5 7B 07 F6 45 EF EB 6A 74 6F 6C DC AF BF BF 
  149. B2 09 6D 52 36 8D 1E 48 3A 70 E5 9B 80 6F DA 9B 
  150. ED 9A 77 B5 70 5A 2A 0E C2 41 E5 C1 27 DF A6 7C 
  151. 7B E3 50 E8 A1 CE C3 DC C3 CD DF 99 7F B7 F5 08 
  152. EB 48 79 2B D2 3A BF 75 AC 2D A3 6D A0 3D A1 BD 
  153. EF E8 8C A3 9D 1D 5E 1D 47 BE B7 FF 7E EF 31 E3 
  154. 63 75 C7 35 8F 57 9E A0 9D 28 3D F1 F9 E4 82 93 
  155. E3 A7 64 A7 9E 9D 4E 3F 3D D4 99 DC 79 F7 4C FC 
  156. 99 6B 5D 51 5D BD 67 43 CF 9E 3F 17 74 EE 4C B7 
  157. 5F F7 C9 F3 DE E7 8F 5D F0 BC 70 F4 22 F7 62 DB 
  158. 25 B7 4B AD 3D AE 3D 47 7E 70 FD E1 48 AF 5B 6F 
  159. EB 65 F7 CB ED 57 3C AE 74 F4 4D EB 3B D1 EF D3 
  160. 7F FA 6A C0 D5 73 D7 F8 D7 2E 5D 9F 79 BD EF C6 
  161. EC 1B B7 6E 26 DD 1C B8 25 BA F5 F8 76 F6 ED 17 
  162. 77 0A EE 4C DC 5D 7A 8F 78 AF FC BE DA FD EA 07 
  163. FA 0F EA 7F B4 FE B1 65 C0 6D E0 F8 60 C0 60 CF 
  164. C3 59 0F EF 0E 09 87 9E FE 94 FF D3 87 E1 D2 47 
  165. CC 47 D5 23 46 23 8D 8F 9D 1F 1F 1B 0D 1A BD F2 
  166. 64 CE 93 E1 A7 B2 A7 13 CF CA 7E 56 FF 79 EB 73 
  167. AB E7 DF FD E2 FB 4B CF 58 FC D8 F0 0B F9 8B CF 
  168. BF AE 79 A9 F3 72 EF AB A9 AF 3A C7 23 C7 1F BC 
  169. CE 79 3D F1 A6 FC AD CE DB 7D EF B8 EF BA DF C7 
  170. BD 1F 99 28 FC 40 FE 50 F3 D1 FA 63 C7 A7 D0 4F 
  171. F7 3E E7 7C FE FC 2F F7 84 F3 FB 25 D2 9F 33 00 
  172. 00 00 20 63 48 52 4D 00 00 7A 25 00 00 80 83 00 
  173. 00 F9 FF 00 00 80 E9 00 00 75 30 00 00 EA 60 00 
  174. 00 3A 98 00 00 17 6F 92 5F C5 46 00 00 00 1C 49 
  175. 44 41 54 78 DA 62 FC FF FF 3F 03 3E C0 C4 40 00 
  176. 0C 0F 05 00 00 00 00 FF FF 03 00 18 63 03 0D BA 
  177. 2A C3 D1 00 00 00 00 49 45 4E 44 AE 42 60 82 

啊这个排版看着好难受,我贴个图吧。

在eclipse中将一个PNG图片转换成十六进制字节数组输出


先这些,我的第一篇博客,希望大神们多多指正~