변환하는 방법을 바이트 배열에 string[중복]
-
11-12-2019 - |
문제
내가 만들어진 바이트 배열을 가진 두 개의 문자열입니다.나는 어떻게 변환하는 바이트 배열하는 문자열?
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);
변환 byte[]을 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);
제휴하지 않습니다 StackOverflow