cfclient/C6/Utils.cs
2024-05-21 08:44:08 +08:00

35 lines
992 B
C#

namespace C6
{
public class Utils
{
public static void WriteU16Le(byte[] data, int offset, ushort v)
{
data[offset + 0] = (byte)(v & 0xFF);
data[offset + 1] = (byte)(v >> 8);
}
public static void WriteU32Le(byte[] data, int offset, uint v)
{
data[offset + 0] = (byte)(v & 0xFF);
data[offset + 1] = (byte)((v & 0xFFFF) >> 8);
data[offset + 2] = (byte)((v >> 16) & 0xFF);
data[offset + 3] = (byte)((v >> 16) >> 8);
}
public static ushort ReadU16Le(byte[] data, int offset)
{
return (ushort)(data[offset] + (ushort)(data[offset + 1] << 8));
}
public static uint ReadU32Le(byte[] data, int offset)
{
return (uint)data[offset + 0] + ((uint)data[offset + 1] << 8) +
((uint)data[offset + 2] << 16) + ((uint)data[offset + 3] << 24);
}
}
}