我创建了一个带有两个字符串的字节数组。如何将字节数组转换为字符串?
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 (不支持)。
根据您希望使用的编码:
var str = System.Text.Encoding.Default.GetString(result);
假设您使用的是 UTF-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);
您可以通过使用 BlockCopy来完成它而无需处理编码:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);