문제

내가 만들어진 바이트 배열을 가진 두 개의 문자열입니다.나는 어떻게 변환하는 바이트 배열하는 문자열?

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top