使用HTTP Post发送ASCII字符串

时间:2010-09-17 17:57:11

标签: .net image http

第1部分) 我有一个位图/ jpeg图像。 我需要将此图像转换为ASCII字符串(因为我需要哈希) 如何转换为ASCII?

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

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

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

3 个答案:

答案 0 :(得分:1)

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

您可以计算二进制数据的哈希码,您不需要ASCII数据来计算哈希码。有.net函数用于计算与二进制数据一起使用的散列。此外,您可以执行二进制数据的http帖子,您不必使用纯ASCII作为帖子。

答案 1 :(得分:0)

将二进制数据(如图像)转换为ASCII字符串的一种方法是使用base-64。 Base-64编码的示例位于:http://arcanecode.com/2007/03/21/encoding-strings-to-base64-in-c/

答案 2 :(得分: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;
}