/// <summary>
    /// 用于文本和Base64编码文本的互相转换 和 Byte[]和Base64编码文本的互相转换
    /// </summary>
    class Base64Change
    {
        /// <summary>
        /// 将普通文本转换成Base64编码的文本
        /// </summary>
        /// <param name="value">普通文本</param>
        /// <returns></returns>
        public string StringToBase64String(String value)
        {
            byte[] binBuffer =(new UnicodeEncoding()).GetBytes(value);
            int base64ArraySize = (int)Math.Ceiling(binBuffer.Length / 3d) * 4;
            char[] charBuffer = new char[base64ArraySize];
            Convert.ToBase64CharArray(binBuffer, 0, binBuffer.Length, charBuffer, 0);
            string s = new string(charBuffer);
            return s;
        }

/// <summary>
        /// 将Base64编码的文本转换成普通文本
        /// </summary>
        /// <param name="base64">Base64编码的文本</param>
        /// <returns></returns>
        public string Base64StringToString(string base64)
        {
            char[] charBuffer = base64.ToCharArray();
            byte[] bytes = Convert.FromBase64CharArray(charBuffer, 0, charBuffer.Length);
            return (new UnicodeEncoding()).GetString(bytes);
        }
       
        /// <summary>
        /// 将Byte[]转换成Base64编码文本
        /// </summary>
        /// <param name="binBuffer">Byte[]</param>
        /// <returns></returns>
        public string toBase64(byte[] binBuffer)
        {
            int base64ArraySize = (int)Math.Ceiling(binBuffer.Length / 3d) * 4;
            char[] charBuffer = new char[base64ArraySize];
            Convert.ToBase64CharArray(binBuffer, 0, binBuffer.Length, charBuffer, 0);
            string s = new string(charBuffer);
            return s;
        }

/// <summary>
        /// 将Base64编码文本转换成Byte[]
        /// </summary>
        /// <param name="base64">Base64编码文本</param>
        /// <returns></returns>
        public Byte[] Base64ToBytes(string base64)
        {
            char[] charBuffer = base64.ToCharArray();
            byte[] bytes = Convert.FromBase64CharArray(charBuffer, 0, charBuffer.Length);
            return bytes;
        }
    }

应用:
文本转换
            Base64Change bc = new Base64Change();
            string s = "枯藤昏鸦";

string bs = bc.StringToBase64String(s);//bs为转换成的base64编码文本

s = bc.Base64StringToString(bs);//s为还原后的文本"枯藤昏鸦"

Byte[]转换

Base64Change bc=new Base64Change();

FileStream fs = new FileStream("d:\\a.bmp", FileMode.Open, FileAccess.ReadWrite);
            byte[] bt=new byte[fs.Length];
            fs.Read(bt, 0, (int)fs.Length);
            fs.Close();
            string s = bc.toBase64(bt);//s为转换成的base64编码文本

byte[] b=bc.Base64ToBytes(s);//b为还原后的Byte[]
            FileStream f = new FileStream("d:\\b.bmp", FileMode.Create, FileAccess.Write);
            f.Write(b, 0, b.Length);
            f.Close();

转自:http://hi.baidu.com/85411235/blog/item/a4ced7a2b76d01874610643e.html

C# Base64转换相关推荐

  1. [转]IE下对文件(图片)进行base64转换

    原文地址:http://www.blogjava.net/emu/archive/2011/08/28/357431.html @import url(http://www.blogjava.net/ ...

  2. 微信小程序中base64转换成图片;uni-app小程序base64转图片;微信小程序base64文件转图片;微信小程序base64图片转图片

    将微信小程序的图片转成base64 点击此链接看另一篇 以下是将后端返回的base64转成图片: 方法1:使用微信小程序自带方法 //把base64转换成图片getBase64ImageUrl: (b ...

  3. 微信小程序中base64转换成图片

    //把base64转换成图片getBase64ImageUrl: function(data) {/// 获取到base64Datavar base64Data = data;/// 通过微信小程序自 ...

  4. java 文件 base64 转换

    java 文件 base64 转换 /*** 将文件转成base64 字符串** @param path 文件路径* @return* @throws Exception*/public static ...

  5. 时间戳转换、BASE64和MD5加解密、秒表、图片进行BASE64转换离线使用小工具

    PortableTools使用说明文档 工具下载地址:PortableTools 一.时间戳转换 1.日期转换为时间戳 2.时间戳转换为日期 二.BASE64和MD5加解密 1.BASE64输入原文, ...

  6. android base64 转图片,Android 中 Base64 转换成 图片

    场景 项目中有个功能是显示微信付款码,为了节省服务器存储,将图片以Base64的形式存储,客户端接收到后将Base64转换成图片并加载,但是不要存放大图,在网上看到的大多都是使用了一个java库(im ...

  7. php把buffer转化为图片_php base64转换成图片的方法

    php base64转换成图片的方法:首先获取到前端传递的值:然后设置文件路径和命名文件名称:接着将数据流文件写入创建的文件内容中:最后将路径信息返回给前端使用即可. 将base64数据流文件转换为图 ...

  8. vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url

    vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url vue中使用 <vue-tinymcev-model="itemForm.con ...

  9. Android 中 Base64 转换成 图片

    场景 项目中有个功能是显示微信付款码,为了节省服务器存储,将图片以Base64的形式存储,客户端接收到后将Base64转换成图片并加载,但是不要存放大图,在网上看到的大多都是使用了一个java库(im ...

  10. IDEA加密文件Base64转换String传输以及报文摘要MD5防止恶意篡改

    一.需求:将数据加密之后存放到excel表中,到另一个地方之后,解密读出明文,但要采取一定的方法鉴别密文是否被修改过. 二.思路:先用MD5报文摘或要算法算出明文的摘要信息,并把摘要信息和明文一起用I ...

最新文章

  1. elasticsearch使用jetty进行简单的权限控制
  2. 用java编写简单Webserver,理解webserver的功能。
  3. 计算机的来源知识,如何理解计算机知识及计算机发展史
  4. 转载:matlab 字符串和变量名互换
  5. [原]一步一步自己制作弹出框
  6. springboot整合mongodb changestream
  7. 效率源希捷硬盘远程维修案例-K9盘卡死引起的F级处理
  8. ubuntu下apt相关操作
  9. 无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本
  10. 基于MATLAB的基础图像分析
  11. 公式经纬度换算度分秒,度分秒换算经纬度
  12. 追赶法 matlab编程,科学网—数值分析----三对角方程组的追赶法matlab程序 - 殷春武的博文...
  13. 自学编程入门,先学什么语言好?
  14. c语言关键字之auto
  15. Form表单验证神器: BootstrapValidator常见的坑,input框的value值改变二次验证不了?
  16. c语言输出变量案例,C语言经典例题100例——C语言练习实例41解答(static静态变量的用法)...
  17. 7-4 愿天下有情人都是失散多年的兄妹 (25 分)
  18. js关闭当前的弹窗页面
  19. 计算—六合彩的中奖概率
  20. 微软捕获中国黑客刘蝶雨的故事

热门文章

  1. 计算机主机无反应,详解电脑开机没反应怎么办
  2. 物联网学习笔记(一)
  3. 【杂谈分享】world.execute(me); 用代码谱写从0到1的死亡情诗
  4. 假面舞会狂欢节·朗瀚威 | 艺术品化的meme:以传播促进流通
  5. 把VMware虚拟机从一台电脑复制到另一台电脑
  6. avi转换成mp4格式,avi转mp4
  7. STM32入门笔记——GPIO的初始化
  8. Web 实现前后端分离,前后端解耦
  9. 绝对值不等式解绝对值二次函数的最值_Simplelife_新浪博客
  10. linux 查看war包内容,linux解压war包(示例代码)