RT,这是为了将字符串作为一个key来使用的,但是字符串往往拼接的比较长,所以考虑压缩一下.只要能保证相同的字符串压缩后也是相同的字符串就可以了,目前想到的就是MD5,不知道有没有其他的算法.

解决方案 »

  1.   

    str.hashCode() 
       返回此字符串的哈希码。 
      

  2.   


    有,但都是同一类的,呵呵:SHA
    SHA-1
    ……对应的Java API是java.security.MessageDigest
    该类的使用非常简单,看一下API文档就知道了,呵呵。
      

  3.   

    //压缩   
      public   static   string   Compress(string   uncompressedString)   
      {     
      byte[]   bytData   =   System.Text.Encoding.Unicode.GetBytes(uncompressedString);   
      MemoryStream   ms   =   new   MemoryStream();   
      Stream   s   =   new   ICSharpCode.SharpZipLib.BZip2.BZip2OutputStream(ms);   
      s.Write(bytData,   0,   bytData.Length);   
      s.Close();   
      byte[]   compressedData   =   (byte[])ms.ToArray();   
      return   System.Convert.ToBase64String(compressedData,   0,   compressedData.Length);   
      }   
      //解压   
      public   static   string   DeCompress(string   compressedString)   
      {   
      System.Text.StringBuilder   uncompressedString   =   new   System.Text.StringBuilder();   
      int   totalLength   =   0;   
      byte[]   bytInput   =   System.Convert.FromBase64String(compressedString);;   
      byte[]   writeData   =   new   byte[4096];   
      Stream   s2   =   new   ICSharpCode.SharpZipLib.BZip2.BZip2InputStream(new   MemoryStream(bytInput));   
      while   (true)     
      {   
      int   size   =   s2.Read(writeData,   0,   writeData.Length);   
      if   (size   >   0)     
      {   
      totalLength   +=   size;   
      uncompressedString.Append(System.Text.Encoding.Unicode.GetString(writeData,0,size));   
      }     
      else     
      {   
      break;   
      }   
      }   
      s2.Close();   
      return   uncompressedString.ToString();   
      }   
      给你参考。可以直接用的。因为我们系统用SoapHttp压缩的压缩/解压   字符就是用的这个   
      前提:要用到ICSharpCode.SharpZipLib。很多人都知道这个的,去下载就行了。开源的。。