正则表达式解析图像数据URI
如果我有 :
如何将数据部分解析为:
- Mime类型(图像/ gif)
- 编码(base64)
- 图像数据(二进制数据)
编辑 :扩展以显示用法
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-type(image / jpg)分开。
^data:(?(?\w+)\/(?\w+));(?\w+),(?.*)
- C#:Multiline TextBox with TextBox.WordWrap显示长Base64字符串
- 压缩/解压缩在客户端上使用lz-string.js编码的.NET服务器上的字符串
- 使用PHP和c#的Mcrypt和base64
- 在C#中解码Java编码的Base64字符串
- Base64反序列化期间的空引用exception(C#)
- 在Windows Phone上将base64字符串转换为C#中的图像
- 将任务类型保存为String,导致灾难性故障
- 使用c#字符串变量传递base64字符串。 错误:索引超出了数组的范围
- 如何解码从Base64到字节数组的文本字符串,以及获取此字节数组的字符串属性而不会损坏数据