将16进制数据转成图片形式
大家好,有一个问题请教各位了。
客户给了一个CSV文件,文件中存储了很多的16进制数据,例如这样的:
0xFFD8FFE000104A46494600010101006000600000FFDB004300080606070605080707070909080A0C140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C213232323232323232323232323232323232
这样一段数据代表了一个图片。现在需要根据这个16进制数据转成图片。
我是这样来操作的:
//str代表从CSV文件中读取的一条记录。
string str = "0xFFD8FFE000104A46494600010101006000600000FFDB0043000302020302020303030304030304050805050404050A070706080C0A0C0C0B0A0B0B0D0E12100D0E110E0B0B1016101113141515150C0F17";
char[] chars = str.ToCharArray();
byte[] bytes = new byte[chars.Length];
Encoder e = Encoding.UTF8.GetEncoder();
e.GetBytes(chars, 0, chars.Length, bytes, 0, true);
FileStream fs = new FileStream("D:\\pic.png", FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
这样转出来的图片不行,看不了。
谢谢大家了。