Bytearray converteren naar string

Ik heb een bytearray gemaakt met twee strings. Hoe converteer ik een bytearray naar een string?

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);

Ik wil resultconverteren naar een string. Ik zou het kunnen doen met BinaryReader, maar ik kan BinaryReaderniet gebruiken (het wordt niet ondersteund).


Antwoord 1, autoriteit 100%

Afhankelijk van de codering die u wilt gebruiken:

var str = System.Text.Encoding.Default.GetString(result);

Antwoord 2, autoriteit 26%

Ervan uitgaande dat u UTF-8-codering gebruikt:

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);

Antwoord 3, autoriteit 2%

Je kunt het doen zonder codering door BlockCopy:

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

Antwoord 4

Gebruik de onderstaande regel om de byte[] naar string[] te converteren.

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);

Other episodes