Intereting Posts

Регулярное выражение для анализа URI данных изображения

Если у меня есть :

 

Как я могу проанализировать часть данных в:

  • Mime type (image / gif)
  • Кодировка (base64)
  • Данные изображения (двоичные данные)

EDIT : расширен для использования

 var regex = new Regex(@"data:(?[\w/\-\.]+);(?\w+),(?.*)", RegexOptions.Compiled); var match = regex.Match(input); var mime = match.Groups["mime"].Value; var encoding = match.Groups["encoding"].Value; var data = match.Groups["data"].Value; 

ПРИМЕЧАНИЕ . Регулярное выражение применяется к вводу, указанному в вопросе. Если бы была указанная charset , это не сработало бы и ее пришлось бы переписать.

На самом деле для этого вам не нужно регулярное выражение. Согласно Википедии , формат URI данных

 data:[][;charset=][;base64], 

поэтому просто выполните следующие действия:

 byte[] imagedata = Convert.FromBase64String(imageSrc.Substring(imageSrc.IndexOf(",") + 1)); 

Вот мое регулярное выражение, в котором мне пришлось разделить тип mime (image / jpg).

 ^data:(?(?\w+)\/(?\w+));(?\w+),(?.*)