byte[]
에있는 객체를 객체로 변환하려고합니다. 나는 온라인으로 볼이 코드를 사용하여 시도했다 :byte []를 객체로 변환
object byteArrayToObject(byte[] bytes)
{
try
{
MemoryStream ms = new MemoryStream(bytes);
BinaryFormatter bf = new BinaryFormatter();
//ms.Position = 0;
return bf.Deserialize(ms,null);
}
catch
{
return null;
}
}
SerializationException는 "구문 분석이 를 완료하기 전에 스트림의 종료가 발생했습니다.".
내가 ... 너무 물론 주석을 해제 ms.Position = 0
라인을 시도했습니다 bytes[]
각 바이트가 null
아니라, 단지 8 바이트 길이입니다.
제안 사항?
[편집]
바이트는 [] 값이 다른 유형의 숫자가 될 수 있습니다
void WriteToFile (std::ostream& file,T* value)
{
file.write(reinterpret_cast<char*>(value), sizeof(*T))
}
의 라인을 따라 뭔가를 사용하여 C++ 프로그램에서 이진 파일로 작성되었습니다. BitConverter를 사용하여 파일에서 괜찮은 객체로 캐스트 할 수 있지만 BitConverter에서 수행 할 수없는 모든 작업은 수행 할 수 없습니다.
:
귀하의 방법은 다음과 같이 될 것인가? 어떤 형식입니까? – cdhowie
'(객체) 바이트 '처럼 왜 그냥 캐스팅 할 수 없습니까? 다른 것을 이루려고하십니까? –
데이터가 올바르게 처음부터 올바르게 serialize 되었습니까? – MadSkunk