2009-11-30 1 views
3

파이썬의 struct과 유사한 기능을 허용하는 C# 라이브러리가 standard library에 있습니까?파이썬의 struct.pack에 상응하는 C#

실제 정렬 된 구조체와 상당히 밀접하게 구조체 라이브러리를 에뮬레이트 할 수 있습니다. 하지만 C#의 구조체에서 endianess를 직접 제어 할 수있는 방법을 아직 찾지 못했습니다 (C#의 구조체는 COM interop에 맞게 조정되고 일반 용도의 이진 패킹에는 적합하지 않은 것 같습니다).

답변

6

바이트 배열로 단일 값을 일회성 변환하려면 MemoryStream 또는 BitConverterBinaryWriter을 쓰는 것이 가장 비슷합니다.

endianness를 제어하려면 내 EndianBinaryWriter/EndianBitConverter를 MiscUtil에서 사용할 수 있습니다. 내 EndianBitConverter의 또 다른 기능 중 하나는 기존 배열의 특정 부분으로 변환 할 수 있다는 점입니다. 이는 struct.pack 포트로 직접 이동하려는 경우 도움이됩니다.