十六进制字符串转换成图片(十六进制数据位于文件中)
import java
.io
.*
;
public class MyFontImage {
public static void main(String
[] args
) throws Exception
{
System
.out
.println(readTxt().replaceAll(" ", ""));
txtTransImage(readTxt().replaceAll(" ", "").toUpperCase(), "d:/image.png");
}
private static String
readTxt() throws Exception
{
Reader inputStream
= new FileReader("d:/image.txt");
BufferedReader reader
= new BufferedReader(inputStream
);
String str
= "";
StringBuilder builder
= new StringBuilder();
while ((str
= reader
.readLine()) != null
) {
builder
.append(str
);
}
return builder
.toString();
}
private static void txtTransImage(String src
, String filePath
) throws Exception
{
if (src
== null
|| ("").equals(src
)) {
return;
}
FileOutputStream outputStream
= new FileOutputStream(filePath
);
byte[] bytes
= src
.getBytes();
for (int i
= 0; i
< bytes
.length
; i
+= 2) {
outputStream
.write(charToInt(bytes
[i
]) * 16 + charToInt(bytes
[i
+ 1]));
}
outputStream
.close();
}
private static 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
;
}
}
imgae.txt中存放十六进制数据,部分数据截图如下
转载请注明原文地址:https://ipadbbs.8miu.com/read-3254.html