मैं डेटाबेस से एक बाइट स्ट्रीम कॉपी करने की कोशिश कर रहा हूं, इसे एन्कोड करता हूं और अंत में इसे वेब पेज पर प्रदर्शित करता हूं।सी # मेमोरीस्ट्रीम एन्कोडिंग बनाम। एन्कोडिंग। गेटचर्स()
var encoding = Encoding.GetEncoding(1252 /*Western European*/);
using (var fileStream = new StreamReader(new MemoryStream(content), encoding))
{
var str = fileStream.ReadToEnd();
}
बनाम: हालांकि, मैं अलग अलग तरीकों से (: मैं "पश्चिमी यूरोपीय" एन्कोडिंग जो एक लैटिन वर्ण सेट है और चीनी अक्षरों का समर्थन नहीं करता उपयोग कर रहा हूँ टिप्पणी) में सामग्री एन्कोडिंग अलग व्यवहार देख रहा हूँ
var encoding = Encoding.GetEncoding(1252 /*Western European*/);
var str = new string(encoding.GetChars(content));
सामग्री, जैसे 'डी $ 教学 而 设计 的 "है, जो सही नहीं है क्योंकि एन्कोडिंग उन अक्षरों को समर्थन नहीं करना चाहिए एक स्ट्रिंग का उत्पादन करेगा कोड के पहले खंड से चीनी वर्ण शामिल हैं, जबकि दूसरे खंड "डी $ æ • ™ å|è € Œè®¾è®¡çš" "उत्पन्न करेगा जो कि सही है क्योंकि वे सभी पश्चिमी यूरोपीय चरित्र सेट में हैं।
व्यवहार में इस अंतर के लिए स्पष्टीकरण क्या है?
धन्यवाद! अब वे एक ही स्ट्रिंग का उत्पादन करते हैं। जिज्ञासा से बाहर, कोड का कौन सा ब्लॉक आपको सुझाव देना बेहतर है? क्या कोई भी फायदे या नुकसान हैं? – Sidawy