2016-10-13 24 views
0

私はC#で以下のコードを使用して文字列を圧縮しています。C#で文字列を圧縮し、Javascriptで圧縮解除する

public static string Compress(string text) 
{ 
    byte[] buffer = Encoding.UTF8.GetBytes(text); 
    MemoryStream ms = new MemoryStream(); 
    using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true)) 
    { 
     zip.Write(buffer, 0, buffer.Length); 
    } 

    ms.Position = 0; 
    MemoryStream outStream = new MemoryStream(); 

    byte[] compressed = new byte[ms.Length]; 
    ms.Read(compressed, 0, compressed.Length); 

    byte[] gzBuffer = new byte[compressed.Length + 4]; 
    System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length); 
    System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4); 
    return Convert.ToBase64String(gzBuffer); 
} 

しかし、私はJavascriptで解凍したいと思う。

どのように解凍するのを助けることができます文字列 Javascriptでですか?

多くのおかげで通常

答えて

0

あなたがC#とHTTPコンテキスト内のJavaScriptの話をしています。 HTTPの場合、トランスポート層に圧縮を残します。つまり、サーバーはクライアントとサーバーの機能のHTTPネゴシエーションに従って圧縮を行います。圧縮は、静的ファイルまたはダイナミクスデータ(Webサービス/ Web APIなど)によって行われます。 IISで圧縮を設定する方法については、this pageを参照してください。

コードの複雑さ、メンテナンスコスト、実装にかかる時間、エラーのリスクが増加するなど、さまざまな理由で実装しない理由がいくつかあります。

C#とJavaScriptの間で圧縮を特に必要とする場合は、業界標準を使用するのが最も簡単です。あなたのgzipの選択は良いです。 gzipをサポートする一般的なJavaScriptライブラリはpakoです。

関連する問題