C#에서 바이트 배열을 int-likes로 변환
문제
bitconverter.touint16 ()은 바이트가 반전 될 것으로 예상합니다. 그것이 메모리에 저장되는 방식이라고 생각합니다. 그러나 배열을 수정하지 않고 반전되지 않으면 어떻게 변환 할 수 있습니까?
Byte[] ba = { 0, 0, 0, 6, 0, 0 };
BitConverter.ToUInt16(ba, 2); // is 1536/0x0600, but I want 6/0x0006
해결책
당신이 내 원하는 것 같네요 EndianBitConverter
안에 MiscUtil
,이를 통해 크든 작은 엔디 니스를 사용하고 싶은지 여부를 지정할 수 있습니다.
기본적으로 동일한 기능을 제공합니다 BitConverter
그러나 인스턴스 방법으로. 그런 다음 적절한 종류를 얻습니다 EndianBitConverter
그리고 당신이 그것으로 원하는 것을하십시오.
(배열로 효율적으로 작업하기위한 약간의 기능을 제공하며, 이는 귀하에게 유용 할 수도 있고 아닐 수도 있습니다.)
도서관은 상당히 허용되는 라이센스에 따라 공개됩니다.
다른 팁
iPaddress.hosttonetworkorder를 사용할 수도 있습니다.
최선의 호출은 배열을 배열로 역전시키는 것입니다.
http://msdn.microsoft.com/en-us/library/system.array.reverse(vs.71).aspx
제휴하지 않습니다 StackOverflow