.csファイルのgzipを使用してデータを圧縮したプロジェクトがあります。これが私のコードです。
public byte[] CustomerList()
{
SqlDataAdapter da = new SqlDataAdapter("select CustomerID from CustomerMaster", con);
DataSet ds = new DataSet();
da.Fill(ds);
return CompressData(ds);
}
public byte[] CompressData(DataSet ds)
{
using (MemoryStream memory = new MemoryStream())
{
using (GZipStream gzip = new GZipStream(memory, CompressionMode.Compress))
{
var formatter = new BinaryFormatter();
formatter.Serialize(gzip, ds);
gzip.Close();
}
return memory.ToArray();
}
}
このzip関数をjsファイルから呼び出し、データをバイト形式で取得しました。
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "Service1.svc/CustomerList",
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: true,
success: function (data) {
alert(data.CustomerListResult);
},
error: function () {
alert("Error");
}
});
});
次に、この[byte-data]を復号化して、元の文字列を取得します。ここから問題が始まりました。元のデータを取得するにはどうすればよいですか。つまり、[バイトデータ]を復号化または解凍して元の文字列を取得する方法を意味します。