你的位置:首页 > ASP.net教程

[ASP.net教程]16进制字符和图片之间相互转换


  图片和字符转换一版用在socket进行通信之间。现在我就把我写的和测试整理出来和大家分享下

1:图片转换成16进制字符

 1  FileStream fs = new FileStream(lbl_show.Text, FileMode.Open, FileAccess.Read); 2       BinaryReader br = new BinaryReader(fs); 3       StreamWriter sw = new StreamWriter(tb_position.Text); 4       int length = (int)fs.Length; 5       StringBuilder sb = new StringBuilder(); 6       while (length > 0) 7       { 8         byte tempByte = br.ReadByte(); 9         string tempStr = Convert.ToString(tempByte, 16);10         if (tempStr.Length <= 1)11         {12           tempStr = "0" + tempStr;13         }14         sb.Append(tempStr);15         length--;16       }17       sw.Write(sb.ToString());18       fs.Close();19       br.Close();20       sw.Close();21       MessageBox.Show("转换成功"); 

注释1:lbl_show.Text表示图片存在的位置

注释2:tb_position.Text表示字符保存位置

注释3:string tempStr = Convert.ToString(tempByte, 16); 字节转换成16进制字符串

2:16进制字符转换成图片

 1   FileStream fs = new FileStream("Imgs//test.jpg", FileMode.Create, FileAccess.Write); 2       BinaryWriter bw = new BinaryWriter(fs); 3       StreamReader sr = new StreamReader(lbl_text.Text); 4       while (sr.Peek() != -1) 5       { 6         string tempStr = sr.ReadToEnd(); 7         if (tempStr.Contains("7D01") || tempStr.Contains("7D02")) 8         { 9           tempStr = tempStr.Replace("7D02", "7E");10           tempStr = tempStr.Replace("7D01", "7D");11         }12         int tlenth = tempStr.Length / 2;13         int pos = 0;14         string[] str = new string[tlenth];15         for (int i = 0; i < tlenth; i++)16         {17           str[i] = tempStr.Substring(pos, 2);18           pos = pos + 2;19           string cc = str[i];20           byte tempByte = Convert.ToByte(str[i], 16);21           bw.Write(tempByte);22         }23       }24       fs.Close();25       bw.Close();26       sr.Close();27       this.pictureBox1.Image = Image.FromFile("Imgs//test.jpg");

注释1:Imgs//test.jpg 表示转换图片保存位置

注释2:lbl_text.Text表示要转换字符的位置

注释3: byte tempByte = Convert.ToByte(str[i], 16);16进制字符转成字符

运行效果

源码下载




海南旅游团报价海南旅游团购优惠海南旅游线路报价海南旅游指南攻略大全海南旅游住哪里比较方便珠穆朗玛峰海拔高度有多少米? 都峤山风景区电话?广西容县都峤山团购多少? 都峤山森林公园老人免费吗?广西容县老年票价格? 九寨沟旅游途中有哪些美景? 2015赤坎古镇三八妇女节门票优惠活动?开平赤坎影视城3.8女士免费吗? 福州桃花朵朵开 依傍枝头等君来 2015广州鳄鱼公园三八妇女节优惠活动?广州长隆鳄鱼公园3.8女士半价时间? 2015长隆欢乐世界三八妇女节女士优惠吗?广州长隆欢乐世界3.8门票优惠活动? 细数重庆十大最美婚纱摄影地 盘点陕西六大逗比景点 “米奇头饰” 盘点陕西六大逗比景点 “好基友” 盘点陕西六大逗比景点“囧字楼” 普吉岛在哪里?属于哪个国家? 2015年中国护照可以免签哪些国家? 马尔代夫是哪国的?属于哪个国家? 泰国旅游签证怎么办理?签证有哪几种? IDT72V3633L10PF8 Datasheet IDT72V3633L10PF8 Datasheet IDT71V3558S133PFG8 Datasheet IDT71V3558S133PFG8 Datasheet IDT72V3633L15PF Datasheet IDT72V3633L15PF Datasheet 佳木斯跟团港澳五天四晚 佳木斯跟团港澳五天四晚 佳木斯跟团港澳五天四晚 佳木斯去香港三天两晚游 佳木斯去香港三天两晚游 佳木斯去香港三天两晚游 浙江到港澳三天旅游 浙江到港澳三天旅游 浙江到港澳三天旅游