나는 모든 다른 정보 비트를 읽는 프로그램을 사용하여 STFS 파일 형식에 대한 이해를 높이려고합니다. 어떤 오프셋이 어떤 정보를 포함하는지에 대한 참조가있는 웹 사이트를 사용하여 바이너리 판독기가있는 코드를 작성하여 올바른 변수에 값을 넣습니다.C# - Big Endian의 바이너리 리더?
문제는 모든 데이터가 Big Endian으로 지원되며 이진 판독기가 읽는 모든 것이 Little Endian입니다. 그래서 이것을 고치는 가장 좋은 방법은 무엇입니까?
반전 된 바이트 배열을 반환하는 Binary 리더의 모방 클래스를 만들 수 있습니까? 내가 모든 것을 다시 쓸 필요가 없도록 big endian으로 읽을 수 있도록 클래스 인스턴스에서 변경할 수있는 것이 있습니까?
도움을 주시면 감사하겠습니다.
편집 : Encoding.BigEndianUnicode를 매개 변수로 추가했지만 리틀 엔디안을 읽습니다.
스키트 하나를 썼다 :
그래서이 예제 코드를 상상 : 이와 같이
, 나는 실제로 단지 대신 큰 클래스를 만드는 일부 바이트 [] 확장을 썼다에 http : // www.yoda.arachsys.com/csharp/miscutil/ –
@HansPassant, 내 코드 소스를 만들 필요가있는 DLL 중 하나일까요? 왜 일부 DLL은 그것을 요구합니까? – mowwwalker
Walkerneo zmbq이 3 분 전에 본질적으로 같은 대답을했기 때문에 대답을 삭제했습니다. 엔디안 개념은 바이트 배열에 적용되지 않으며 단어, dwords, qwords 등, 즉 2, 4, 8 등의 바이트 그룹에만 적용됩니다. 많은 코드를 변경한다는 것은 유감이지만 남자는 남자가해야 할 일을해야합니다. –