문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top