Avatar ·

बाइट ऐरे को हेक्साडेसिमल स्ट्रिंग में और वापस C# में कैसे बदलें?

सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ, और मुझे बाइनरी डेटा के साथ काम करते समय एक समस्या आई। मुझे एक बाइट ऐरे (जैसे SHA256 हैश) को टेक्स्ट फ़ाइल में सेव करना है, और फिर इसे वापस पढ़ना है। मैंने समझ लिया कि बाइट्स को ज्यों का त्यों लिखना संभव नहीं है — इससे अजीब अक्षर आते हैं। मुझे उन्हें हेक्साडेसिमल कैरेक्टर्स की स्ट्रिंग में बदलना होगा, और फिर पढ़ते समय इस स्ट्रिंग को वापस बाइट ऐरे में बदलना होगा।

मैंने इसे स्वयं करने की कोशिश की, लेकिन मेरा कोड सही काम नहीं कर रहा। मैंने यह लिखा:

byte[] data = { 0x0F, 0xBA, 0x01, 0xFF };
string hex = "";
foreach (byte b in data)
{
    hex += b.ToString("X");
}
// परिणाम "FBA1FF" — बिना लीडिंग जीरो के!
Console.WriteLine(hex);

जब मैं इस स्ट्रिंग को वापस पढ़ने की कोशिश करता हूँ, तो मैं यह नहीं समझ पाता कि एक बाइट कहाँ खत्म होता है और दूसरा कहाँ शुरू होता है। उदाहरण के लिए, स्ट्रिंग "FBA1FF" को अलग-अलग तरीकों से समझा जा सकता है: {0xFB, 0xA1, 0xFF} या {0x0F, 0xBA, 0x1F, 0xF} — यह गलत है।

मैंने