我有这样一个字符串:
string x = 0x424D3630090000000000360010028000000C00100200011111111111333333333000000C40E0000C40E000000088888888BBBBCC262281FF231F7EFF251D81FF....."
我被告知将此字符串转换为JPEG图像,我不确定此字符串的实际数据类型,我不知道如何将其转换为JPEG。你能给我至少一些提示吗?提前谢谢。
编辑:
我将字符串转换为字节数组,如下所示:
byte[] bytes = Convert.FromBase64String("0x424D363009..");
我得到了这个例外:
Base-64字符数组或字符串的长度无效。
答案 0 :(得分:3)
还有一个可能的解决方案,您可以使用以下方法从该HEX字符串中获取byte[]
:
string x = GetYouHexString();
x = x.Remove(0,2);
string[] stringArr = Enumerable.Range(0, x.Length / 2)
.Select(i => x.Substring(i * 2, 2))
.ToArray();
byte[] byteArr = Array.ConvertAll(stringArr , b => Convert.ToByte(b, 16));
然后使用MemoryStream
和Image
保存:
using(Image image = Image.FromStream(new MemoryStream(byteArr)))
{
image.Save("output.jpg", ImageFormat.Jpeg);
}