2013-06-07 3 views
0

그림 (bgra)을 나타내는 바이트 배열이 있습니다. C# byte [] 형식의 바이트 순서를 알고 싶습니다. 바이트가 리틀 또는 빅 엔디안으로 표시됩니까?바이트 배열에서 C# 바이트 순서?

읽어 주셔서 감사합니다.

+1

는 BitConverter.IsLittleEndian –

답변

3

하나의 코드가

ushort word = 0x0001; // 16bit word with lsb set 
var bits = new BitArray(BitConvert.GetBytes()); 

if (bits[0]) { 
    // little endian 
} else if (bits[8]) { 
    // big endian 
} 
(BitConvert.IsLittleEndian wihout)을 증명하기 위해 쓸 수 있다면 누가 궁금 권리 만 II입니다 Sinatr에 대한

편집

+0

좋아해요. 그것, 정말 깨끗한 증거 –

+0

나는 엔디안이 비트가 아닌'바이트'와 관련이 있다고 생각했다. 정교하게 주시겠습니까? 어떻게 든 낮은 바이트 세트를 가지고있는 단어를 저장하고 바이트 배열로 읽으려고 시도하고 첫 번째 바이트가 0인지 아닌지 확인합니다. – Sinatr

2

윈도우 리틀 엔디안, 그래서 당신이 C# .NET을 실행하는 경우 당신은 아마 리틀 엔디안을 사용하는

+0

좋아 감사를 요청하지만, 큰 엔디안 순서를 바꿀 수 있습니다 (이것은 매우 어리석은 questino 수 있습니다하지만 난 파이에 문제가 cture represention 그리고 나는 그것이 바이트 배열의 순서에서 왔다고 생각한다). – user2417992

+0

이 답변은 도움이되지 않습니다. 그것은 C#에 의존하지 않고 바이트 배열의 원점에 의존합니다. C#에서는 두 가지 (작은 또는 큰 엔디안)를 사용할 수 있습니다. – ken2k

+1

Array.Reverse 사용 –