如何将字节数组转换为string
我用两个string创build了一个字节数组。 如何将字节数组转换为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);
我想将result
转换为string。 我可以用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);
要将字节[]转换为string[],只需使用下面的行。
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);
另一种select是:
string convert = "This is the string to be converted"; convert.CopyTo(0, buffer, 0, convert.length);
请参阅String.CopyTo (MSDN)。