लौटने मैं एक विधिStreamReader.ReadToEnd() एक खाली स्ट्रिंग
private static String DecompressAndDecode(byte[] data)
{
GZipStream decompressor = new GZipStream(new MemoryStream(data), CompressionMode.Decompress);
StreamReader decompressed = new StreamReader(decompressor, Encoding.UTF8);
String result = decompressed.ReadToEnd();
return result;
}
मैं इनपुट के रूप में कुछ GZipped पाठ है और परिणाम यह पाठ का एक स्ट्रिंग प्रतिनिधित्व माना जाता है की है। समस्या यह है कि विधि एक खाली स्ट्रिंग देता है। मुझे परेशान करने वाला यह है कि जब मैं डीबग मोड में विधि को गहराई से चलाता हूं और रिटर्न स्टेटमेंट तक पहुंच जाता हूं तो परिणाम चर एक खाली स्ट्रिंग है, लेकिन अगर मैं डिकंप्रेस्ड के लिए घड़ी बना देता हूं। ReadToEnd() अभिव्यक्ति यह मुझे टेक्स्ट देता है। इस बिंदु पर मैं अपेक्षा करता हूं कि परिणाम चर है जिसमें पाठ और डिकंप्रेस्ड किया गया है। रिक्त ट्रॉन्ड() अभिव्यक्ति एक खाली स्ट्रिंग का मूल्यांकन करती है। (Decompressed का पुनर्मूल्यांकन। ReadToEnd() अभिव्यक्ति अपेक्षित के रूप में एक खाली स्ट्रिंग देता है)।
@Edit: मैंने पाया कि मेरे मामले ReadToEnd() में पाठ दूसरी कॉल पहली कॉल पर और दूसरा कॉल के बाद रिक्त स्ट्रिंग लौटने पर रिटर्न दिया है।
कुछ स्पष्ट होना चाहिए जो मैं यहां याद कर रहा हूं।
वास्तव में एन्कोडिंग एटीएफ 8 है? –
हां, यह यूटीएफ 8 है। – axk