在C#中将图像转换为文本或十六进制 [英] Convert Image to text or hexadecimal in c#

查看:113
本文介绍了在C#中将图像转换为文本或十六进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

我只想在c#中将图像转换为文本或十六进制.
例如:

我的图片如下:images/esri_streets.png

我想这样转换

例如:iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAh5JREFUKJGV0k9I03EYx/G3 + mtba6GzxbSYWZaKWRf7o3kxqMhAZIdJRoiHqC4dNFPWoX8XHYb9cUaHYUTkpcMiDENBmoSFWC1TKls2J + NXKnObm/rb0F + XkHIT63t8 + Lx4nu/DI/CfT4hXbPWbMi6kPPH8M3C9n + owixxuTCe6JmgJGDO7mt4V58kl5 + Fl65rA755rAZh2 + 83IWElAXhXcCZQd6msfMxadyqWv/XP61U9H71 + n51xcYBZZJ34JdywEJbQZaoqrsnHYRs9axFJ/Q3pXQwzQJpbXP7U5t51oyAdAt0ND/vGtvHowVt88bUy6pLPXLQPLbMUmV/f4lbwjaWzQKZbbZx3UgwwDHaMXb80Y3TVau1UAmJ8I1H/o9ChMzQdW7oCsQj3RhUWcnZ7bd4Mn7QLAtzc/Q/dX7iTsi + DqnyTVoCZzn24Z5ZZsodf6Men74A/zbzCzufyGAe + wn0fVbylrzPkLAOwt3c7QC88xAWBuJiIr1gsJ + iwNFW270WUmx4y2Ua9i8utUigAQCklReQmlOlVF0ensmDCAvLREKMysAKBUM + z3zhVoDeq4YYBJV9AnjvieCwCuzvDlZ6ohW5W10JCQGBuOhCPiw5qBoG8EiwAgSVK387F4bz7oMFXeLAglp2n2ABpkxiecgcG2M727mFDWAt4/b6nJ3R1 + fS2CAHHF1AJHHF1AJHHCA


有人可以帮我吗?

在此先感谢.

Hello

I just wanted to convert an image to text or hexadecimal in c#.
for eg:

My image looks like this : images/esri_streets.png

I want to convert like this

eg:iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAh5JREFUKJGV0k9I03EYx/G3+mtba6GzxbSYWZaKWRf7o3kxqMhAZIdJRoiHqC4dNFPWoX8XHYb9cUaHYUTkpcMiDENBmoSFWC1TKls2J+NXKnObm/rb0F+XkHIT63t8+Lx4nu/DI/CfT4hXbPWbMi6kPPH8M3C9n+owixxuTCe6JmgJGDO7mt4V58kl5+Fl65rA755rAZh2+83IWElAXhXcCZQd6msfMxadyqWv/XP61U9H71+n51xcYBZZJ34JdywEJbQZaoqrsnHYRs9axFJ/Q3pXQwzQJpbXP7U5t51oyAdAt0ND/vGtvHowVt88bUy6pLPXLQPLbMUmV/f4lbwjaWzQKZbbZx3UgwwDHaMXb80Y3TVau1UAmJ8I1H/o9ChMzQdW7oCsQj3RhUWcnZ7bd4Mn7QLAtzc/q/dX7iTsi+DqnyTVoCZzn24Z5ZZsodf6Men74A/zbzCzufyGAe+wn0fVbylrzPkLAOwt3c7QC88xAWBuJiIr1gsJ+iwNFW270WUmx4y2Ua9i8utUigAQCklReQmlOlVF0ensmDCAvLREKMysAKBUM+z3zhVoDeq4YYBJV9AnjvieCwCuzvDlZ6ohW5W10JCQGBuOhCPiw5qBoG8EiwAgSVK387F4bz7oMFXeLAglp2n2ABpkxiecgcG2M727mFDWAt4/b6nJ3R1+fS2npxZwAYtAIjAF1IHkhRXHJ0mSA3Cs+hHgF97Fz38rOswrAAAAAElFTkSuQmCC"



can anyone help me out?

Thanks in advance.

推荐答案

您要对路径进行编码,还是对实际图像进行编码?编码路径很容易,只需编写一种算法或使用现有的算法即可(但不能使用散列,它们不可逆).位图比较难,您必须编码二进制数据才能将其表示为文本.但是,这仍然不是一项主要任务.为什么要这样做?
You want to encode the path, or the actual image ? Encoding the path is easy enough, just write an algorithm or use an existing one ( but not a hash, they are not reversable ). The bitmap is harder, you''d have to encode the binary data to be representable as text. Still not a major task, though. Why are you doing this ?


您没有指定原始代码之间的精确映射(在.NET中通常表示为字节数组),因此可以用多种不同的方式来完成.我们不知道您在此示例中使用的映射是什么.

一种简单的方法是通常在电子邮件上使用的一种方法(所谓的附件"):base64编码:
http://en.wikipedia.org/wiki/Base64 [ http://msdn.microsoft.com/en-us/library/dhx0d524.aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/system.convert. frombase64string.aspx [ ^ ],
另请参见整个类的所有方法: http://msdn.microsoft.com/zh- us/library/system.convert.aspx [ ^ ].

-SA
You did not specify exact mapping between the original code (in .NET usually expressed as array of bytes), so it could be done in a number of different way. We don''t know what is the mapping you used in this example.

One simple way is the one usually used on e-mails (so called "attachments"): base64 encoding:
http://en.wikipedia.org/wiki/Base64[^].

In .NET:
http://msdn.microsoft.com/en-us/library/dhx0d524.aspx[^],
http://msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx[^],
see also the whole class for all its methods: http://msdn.microsoft.com/en-us/library/system.convert.aspx[^].

—SA


public string GetBase64String(string PathToFile)
        {
            try
            {
                byte[] binData = File.ReadAllBytes(PathToFile);
                return Convert.ToBase64String(binData);
            }
            catch
            {
                return "";
            }

        }



而相反的是:



and the reverse would be:

public byte[] GetFromBase64String(string base64string)
{
  try
  {
   return Convert.FromBase64String(base64string);
  }
  catch
  {
   return (byte[])null;
  }
}


这篇关于在C#中将图像转换为文本或十六进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆