해당 파일을 읽으려면 BinaryReader을 사용하는 것이 좋습니다. int
을 읽으려면 ReadInt32
으로 전화하십시오. 자신의 문자열을 읽으려면 바이트 단위 ReadByte
를 읽고 0
using (var fs = File.OpenRead(filename))
{
using (var reader = new BinaryReader(fs))
{
// reading happens here
}
}
개인 문자열 ReadString (BinaryReader를 리더) { 바이트 (B)와 비교해야합니다; StringBuilder sb = new StringBuilder(); ((b = reader.ReadByte())! = 0) { sb.Append ((char) b); } return sb.ToString(); }
코드를 잘못 변환했습니다. 파일 형식에 따르면 문자열의 길이는 260 자입니다. 그래서이 같은 문자열을 트림 260 바이트를 읽고해야합니다 그것은
string hldemo = ReadString(reader, 8);
예를 들어, 호스트 이름을 읽어 :
private string ReadString(BinaryReader reader, int length = 260)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; ++i)
{
byte b = reader.ReadByte();
sb.Append((char)b);
}
return sb.ToString().Trim();
}
헤더를 읽으려면 작성합니다
string host = ReadString(reader);
PHP 코드의 정확한 복제본입니다. 다른. 자열 길이는 형식. 서를 참조하고 샘플 코드를보십시오. 나는 뭔가를 놓쳤을지도 모른다.
"null 값을 좋아하지 않습니다"라고 할 때 당신은 무엇을 의미합니까? – Kian
그것은 예외를 던질 것입니다 – user1522379