c# - बाइट सरणी को स्ट्रिंग में कैसे परिवर्तित करें




bytearray binaryreader (4)

आप BlockCopy का उपयोग कर एन्कोडिंग से निपटने के बिना ऐसा कर सकते हैं:

char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);

इस प्रश्न का उत्तर यहां दिया गया है:

मैंने दो तारों के साथ एक बाइट सरणी बनाई। मैं एक बाइट सरणी तारों में कैसे परिवर्तित करूं?

var binWriter = new BinaryWriter(new MemoryStream());
binWriter.Write("value1");
binWriter.Write("value2");
binWriter.Seek(0, SeekOrigin.Begin);

byte[] result = reader.ReadBytes((int)binWriter.BaseStream.Length);

मैं result स्ट्रिंग में कनवर्ट करना चाहता हूं। मैं इसे BinaryReader का उपयोग कर कर सकता BinaryReader । लेकिन मैं BinaryReader उपयोग नहीं कर सकता (यह समर्थित नहीं है)।


एक वैकल्पिक विकल्प है:

string convert = "This is the string to be converted";
convert.CopyTo(0, buffer, 0, convert.length);

String.CopyTo (एमएसडीएन) देखें।


बाइट [] को स्ट्रिंग [] में कनवर्ट करने के लिए, बस नीचे दी गई रेखा का उपयोग करें।

byte[] fileData; // Some byte array
//Convert byte[] to string[]
var table = (Encoding.Default.GetString(
                 fileData, 
                 0, 
                 fileData.Length - 1)).Split(new string[] { "\r\n", "\r", "\n" },
                                             StringSplitOptions.None);

मान लें कि आप यूटीएफ -8 एन्कोडिंग का उपयोग कर रहे हैं:

string convert = "This is the string to be converted";

// From string to byte array
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(convert);

// From byte array to string
string s = System.Text.Encoding.UTF8.GetString(buffer, 0, buffer.Length);





binaryreader