2010-09-17 103 views
0

Part 1) 我有一个位图/ jpeg图像。 我需要将这个图像转换为ASCII字符串(因为我需要散列它) 这种转换为ASCII如何完成?使用HTTP发送ASCII字符串Post

第2部分) 然后,我需要使用HTTP Post将此ASCII字符串从客户端发送到服务器。

根据我的理解,我只能使用HTTP Post将数据作为字节数组发送。 如何发送ASCII字符串而不是byte []?

在C#中的代码将非常感谢!

回答

1

您可以使用base 64编码或mime编码将任何二进制数据转换为ASCII。我期望在.net框架中有这样的功能。但是,我认为这不完全是你想要做的。这是为什么:

您可以计算二进制数据的哈希码,您不需要ASCII数据来计算哈希码。 .net函数用于计算与二进制数据一起工作的散列。此外,你可以做一个二进制数据的http post,你不必使用简单的ASCII来发布帖子。

+0

感谢您的提示,我不太了解哈希。如果数据是ASCII字符串,那么ASCII字符串的HTTP Post如何完成? – Robogal 2010-09-17 18:25:17

0

您需要编码为Base64您的图像,从而形成一个ASCII字符串: http://en.wikipedia.org/wiki/Base64

你可以做,在C#这样的:

static public string EncodeTo64(string toEncode{ 
    byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode); 
    string returnValue = System.Convert.ToBase64String(toEncodeAsBytes); 
    return returnValue; 
} 
+0

无论如何哈希你不需要一个ASCII字符串!看看http://www.vcskicks.com/compute-hash.php – nivox 2010-09-17 18:07:06

+0

谢谢!我找到了一个链接,解释了如何将图像从文件转换为字节[]。 http://bytes.com/topic/c-sharp/answers/267613-ways-convert-image-base64-back – Robogal 2010-09-17 18:23:42

相关问题