繁体   English   中英

解码 base64 图像

[英]Decoding a base64 image

我想将 base64 字符串解码为图像。 我正在使用以下代码进行解码,

string base64string = subSocket.ReceiveFrameString();
       
if (base64string.Length > 1000)
{
    var base64Data = Regex.Match(base64string, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
    byte[] imgBytes  = Convert.FromBase64String(base64Data);
    myTexture.LoadRawTextureData(imgBytes);
    myTexture.Apply();

    rawImg.texture = myTexture;
}

不幸的是,它抛出了 FormatException。 如何正确解码 base64 图像。 以下是我的 base64 字符串。

data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAMAAwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0j4BfCn9nV7XS/EV9pPw9gls72e+1GHXfBx1GXxFEY7jLXDyE52SXFpMTgB3s4VkXE0zv4z8Ufh7+zv4N8eX+jeIPi7Z6Nb5ik0iFtdleWe3aJC00oe5i8t zP54CrvXaqEPyUT2Lw5oOjzaCdUn06GST+x7iNFaMbEDtCGwvQZUbcdMEjHNcn4iuV8O3kWn6VaQxxG1jcIEwASueACOK9bM+BKePSqYbFVKU2lbSlJK+rVqlKfZWbu1smlv8ACZT4rZ1KQbcn=CpHb0T5EJV/KQbcn=C

由于不可能,在 base64 字符串中,它也是分隔符,所以图像部分就在逗号后面:

byte[] imgBytes  = Convert.FromBase64String(base64string.Split(',')[1]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM