c# base64转字符串实例
转成Base64形式的System.String:
stringa="base64字符串与普通字符串互转"; byte[]b=System.Text.Encoding.Default.GetBytes(a); //转成Base64形式的System.String a=Convert.ToBase64String(b); Response.Write(a);
转回到原来的System.String:
byte[]c=Convert.FromBase64String(a); a=System.Text.Encoding.Default.GetString(c); Response.Write(a);
补充知识:
c#base64字符串转图片用到了bitmap类,封装GDI+位图,此位图由图形图像及其特性的像素数据组成。Bitmap是用于处理由像素数据定义的图像的对象。
具体bitmap类是什么可以自己百度查询,这里就不多介绍了。
#regionbase64转图片 //////图片上传Base64解码 /// ///Base64数据 /// 图片名字 /// 返回一个相对路径 publicstringdecodeBase64ToImage(stringdataURL,stringimgName) { stringfilename="";//声明一个string类型的相对路径 Stringbase64=dataURL.Substring(dataURL.IndexOf(",")+1);//将‘,'以前的多余字符串删除 System.Drawing.Bitmapbitmap=null;//定义一个Bitmap对象,接收转换完成的图片 try//会有异常抛出,try,catch一下 { byte[]arr=Convert.FromBase64String(base64);//将纯净资源Base64转换成等效的8位无符号整形数组 System.IO.MemoryStreamms=newSystem.IO.MemoryStream(arr);//转换成无法调整大小的MemoryStream对象 bitmap=newSystem.Drawing.Bitmap(ms);//将MemoryStream对象转换成Bitmap对象 filename="Knowledge_"+imgName+".jpg";//所要保存的相对路径及名字 stringurl=HttpRuntime.AppDomainAppPath.ToString(); stringtmpRootDir=System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录 stringimagesurl2=tmpRootDir+filename;//转换成绝对路径 bitmap.Save(imagesurl2,System.Drawing.Imaging.ImageFormat.Jpeg);//保存到服务器路径 //bitmap.Save(filePath+".bmp",System.Drawing.Imaging.ImageFormat.Bmp); //bitmap.Save(filePath+".gif",System.Drawing.Imaging.ImageFormat.Gif); //bitmap.Save(filePath+".png",System.Drawing.Imaging.ImageFormat.Png); ms.Close();//关闭当前流,并释放所有与之关联的资源 bitmap.Dispose(); } catch(Exceptione) { stringmassage=e.Message; } returnfilename;//返回相对路径 } #endregion #region图片转base64 //////图片转base64 /// ///图片路径
///返回一个base64字符串 publicstringdecodeImageToBase64(stringpath){ path="E:/vs2015/newaqtcprj/WEB/UpFile/2018/12/20181229174708_7471722c425a2ec08fa513ddf4f8c76306d55fbb0fbd9d8.jpg"; stringbase64str=""; //站点文件目录 stringfileDir=HttpContext.Current.Server.MapPath("/"); string[]arrfileDir=fileDir.Split('\\'); fileDir=arrfileDir[0]+"\\"+arrfileDir[1]+"\\"+arrfileDir[2]; try { //读图片转为Base64String System.Drawing.Bitmapbmp=newSystem.Drawing.Bitmap(Path.Combine(fileDir,"WEB\\UpFile\\2018\\12\\20181229174708_7471722c425a2ec08fa513ddf4f8c76306d55fbb0fbd9d8.jpg")); //System.Drawing.Bitmapbmp=newSystem.Drawing.Bitmap(path); MemoryStreamms=newMemoryStream(); bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg); byte[]arr=newbyte[ms.Length]; ms.Position=0; ms.Read(arr,0,(int)ms.Length); ms.Close(); bmp.Dispose(); base64str=Convert.ToBase64String(arr); } catch(Exceptione) { stringmss=e.Message; } return"data:image/jpg;base64,"+base64str; } #endregion
以上这篇c#base64转字符串实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。