You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
945 B
30 lines
945 B
using System.Net;
|
|
|
|
namespace ByteOrder;
|
|
|
|
internal class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
/*
|
|
* 바이트 오더: 바이트를 메모리에 저장하는 순서
|
|
* 인텔/AMD 계열: 리틀엔디언 - 하위 바이트 먼저 저장
|
|
* ARM 계열: 빅엔디언 - 상위 바이트 먼저 저장
|
|
*/
|
|
|
|
byte[] buffer = BitConverter.GetBytes(12345678);
|
|
Console.WriteLine(BitConverter.ToString(buffer));
|
|
|
|
// ★★★ 네트워크 레벨에서는 반드시 빅엔디언 쓰기로 약속함
|
|
|
|
// 호스트 바이트 순서에서 네트워크 바이트 순서로 변경
|
|
int num2 = IPAddress.HostToNetworkOrder(12345678);
|
|
byte[] buffer2 = BitConverter.GetBytes(num2);
|
|
Console.WriteLine(BitConverter.ToString(buffer2));
|
|
|
|
// 네트워크 바이트 순서에서 호스트 바이트 순서로 변경
|
|
int num3 = BitConverter.ToInt32(buffer2);
|
|
int num4 = IPAddress.NetworkToHostOrder(num3);
|
|
Console.WriteLine(num4);
|
|
}
|
|
} |