Loin tavujoukon, jossa on kaksi merkkijonoa. Miten muunnan tavujoukon merkkijonoksi?
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);
Haluan muuntaa tuloksen
merkkijonoksi. Voisin tehdä sen käyttämällä BinaryReader
, mutta en voi käyttää BinaryReader
(sitä ei tueta).
Olettaen, että käytät UTF-8-koodausta:
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);
Voit tehdä sen ilman koodausta käyttämällä BlockCopy:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);