C#判断字符串是否base64,及base64转换为Bitmap
来源:互联网 发布:webdriver调用js 编辑:程序博客网 时间:2024/06/06 00:04
using System;using System.Linq;using System.Reflection;using System.Text.RegularExpressions;using System.IO;using System.Drawing;namespace XTools{ public class Base64Utility { private static char[] base64CodeArray = new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '=' }; /// <summary> /// 是否base64字符串 /// </summary> /// <param name="base64Str">要判断的字符串</param> /// <returns></returns> public static bool IsBase64(string base64Str) { byte[] bytes = null; return IsBase64(base64Str, out bytes); } /// <summary> /// 是否base64字符串 /// </summary> /// <param name="base64Str">要判断的字符串</param> /// <param name="bytes">字符串转换成的字节数组</param> /// <returns></returns> public static bool IsBase64(string base64Str, out byte[] bytes) { //string strRegex = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"; bytes = null; if (string.IsNullOrEmpty(base64Str)) return false; else { if (base64Str.Contains(",")) base64Str = base64Str.Split(',')[1]; if (base64Str.Length % 4 != 0) return false; if (base64Str.Any(c => !base64CodeArray.Contains(c))) return false; } try { bytes = Convert.FromBase64String(base64Str); return true; } catch (FormatException) { return false; } } /// <summary> /// 把base64字符串转换成Bitmap /// </summary> /// <param name="base64Str">要转换的base64字符串</param> /// <returns></returns> public static Bitmap Base64ToBitmap(string base64Str) { Bitmap bitmap = null; byte[] bytes = null; try { if (IsBase64(base64Str, out bytes)) { using (MemoryStream stream = new MemoryStream(bytes)) { stream.Seek(0, SeekOrigin.Begin);//为了避免有时候流指针定位错误,显式定义一下指针位置 bitmap = new Bitmap(stream); } } } catch (Exception) { bitmap = null; } return bitmap; } /// <summary> /// 根据base64字符串获取文件后缀(图片格式) /// </summary> /// <param name="base64Str">base64</param> /// <returns></returns> public static string GetSuffixFromBase64Str(string base64Str) { string suffix = string.Empty; string prefix = "data:image/"; if (base64Str.StartsWith(prefix) && base64Str.Contains(";") && base64Str.Contains(",")) { base64Str = base64Str.Split(';')[0]; suffix = base64Str.Substring(prefix.Length); } return suffix; } }}
阅读全文
0 0
- C#判断字符串是否base64,及base64转换为Bitmap
- 转换成base64格式字符串和base64字符串转成bitmap
- android bitmap与base64字符串之间转换
- android bitmap与base64字符串之间转换
- c# bitmap和base64编码相互转换
- C# 16进制转换为Base64字符串
- Base64与Bitmap转换
- Bitmap转换成Base64
- Swift 图像转换为Base64字符串
- C# 图片和Base64字符串互相转换
- Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换
- bitmap图片和base64字符串来互相转换
- 如何将Bitmap位图与base64字符串相互转换[delphi]
- 通过指定Base64编码字符串 转换成 Bitmap图片
- base64和bitmap互相转换
- base64和bitmap互相转换
- 将Bitmap位图转化为base64字符串互转
- Java实现base64图片转换为base64字符串。base64字符串转换图片 之间的互相转换,并保存在本地。
- spring boot 集成 Quartz
- python 文件操作总结
- 利用Python进行数据分析(14) pandas基础: 数据转换
- Java中Synchronized的用法
- 自定义spring-boot-starter(IDEA开发)
- C#判断字符串是否base64,及base64转换为Bitmap
- 截面校对
- 多进程方式抓取基金网站内容
- 十大理由够不够!物联网将改变人们的工作方式
- Android WebView 中 JS 与Java之间通信
- Fibonacci Check-up
- python3:公众号每日定时发送日报/图片
- 梁兜不住检查
- mybatis逆向工程