2015-05-13 163 views
0

我有一個字符串,它大約有200 000個字符長。這個字符串中有很多重複。我想知道是否有一種方法可以壓縮這個字符串服務器端(c#),並且一旦我收到客戶端(JS)的解壓縮字符串。在C#asp.net中壓縮字符串並在JavaScript中解壓縮

數據的一個例子: enter image description here

+2

有幾種方法,確保萬無一失。你到目前爲止嘗試了什麼? – doldt

+1

[String Compression/Decompression of data要通過網絡發送]的可能重複(http://stackoverflow.com/questions/24927529/string-compression-decompression-of-data-to-be-sent-over-the -網絡) – schnaader

回答

2

我不知道如何使用Javascript本身(通過庫)可以使用壓縮的數據,但它不需要

當您將GZip數據服務器端並將「Content-Encoding」標頭值設置爲「gzip」時,瀏覽器在將其交給您的js代碼之前將對其進行解壓縮。所以你有小運輸尺寸和快速減壓的好處。

通過檢查請求標頭值「Accept-Encoding」,預先檢查瀏覽器是否可以執行此操作。如果包含「gzip」(這是通常的),那麼瀏覽器將對其進行解碼。

更多閱讀(特異性的WebAPI): http://blog.developers.ba/asp-net-web-api-gzip-compression-actionfilter/http://benfoster.io/blog/aspnet-web-api-compression

1

是的,你可以在JavaScript中解壓縮挑選任何你想要的壓縮算法,C#實現該算法進行壓縮,然後再。在C#和JavaScript之間切換不會引起任何困難,除非您需要使用兩種語言來實現它。

我建議你搜索LZ壓縮算法。