zoukankan      html  css  js  c++  java
  • 图片转换成十六进制TXT文件

    最近学习了图片的转换,就学习了一下图片从二进制转换成十六进制,十六进制TXT文件转换成图片形式。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    
    namespace pictu
    {
        public partial class Form1 : DevExpress.XtraEditors.XtraForm
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //从文件目录中将图片读入到IO流中
                FileStream fs = new FileStream(@"E:图片转换测试发送图片1.jpg", FileMode.Open, FileAccess.Read);
                //对数据流进行编码八位二进制
                BinaryReader br = new BinaryReader(fs);
                //形成十六进制最后存储的txt文件
                StreamWriter sw = new StreamWriter(@"E:图片转换测试发送图片1.txt");
                //得到数据流的长度
                int length = (int)fs.Length;
                while (length > 0)
                {
                    byte tempByte = br.ReadByte();
                    //将八位二进制转换为十六进制字符串形式
                    string tempStr = Convert.ToString(tempByte, 16);
                   //写入txt
                    sw.WriteLine(tempStr);
                    length--;
                }
                //关闭IO流释放资源
                fs.Close();
                br.Close();
                sw.Close();
            }
    
    
            /// <summary>
            /// 原理与上面基本相同,仔细看就懂了
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                FileStream fs = new FileStream(@"E:图片转换测试接收图片1.jpg", FileMode.Create, FileAccess.Write); //创建1.jpg图片
                BinaryWriter bw = new BinaryWriter(fs);
                StreamReader sr = new StreamReader(@"E:图片转换测试发送图片1.txt");         //打开你的16进制的txt
                while (sr.Peek() != -1)
                {
                    string tempStr = sr.ReadLine();
                    byte tempByte = Convert.ToByte(tempStr, 16);
                    bw.Write(tempByte);
                }
                fs.Close();
                bw.Close();
                sr.Close();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
        }
    }
  • 相关阅读:
    [LeetCode] 240
    [LeetCode] 169
    [LeetCode] 28
    [LeetCode] 27
    [LeetCode] 14
    [LeetCode] 9
    [LeetCode] 7
    [LeetCode] 2
    数据库开发规范
    Mysql优化
  • 原文地址:https://www.cnblogs.com/xiaobaidashu/p/9361270.html
Copyright © 2011-2022 走看看