简体   繁体   中英

Decoding a base64 image

I would like to decode a base64 string to an image. I'm using the following code to decode,

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;
}

Unfortunately, it throws FormatException. How do I properly decode the base64 image. Following is my base64 string.

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

As there can not be , in base64 string and also it is the separator, so the image part is right after the comma:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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