示例#1
0
        public static void WriteValueU8(this Stream stream, byte value)
        {
            var data = SmallWorkBuffer.Get(1);

            data[0] = value;
            stream.Write(data, 0, 1);
        }
示例#2
0
        public static void WriteValueU16(this Stream stream, ushort value, Endian endian)
        {
            if (ShouldSwap(endian) == true)
            {
                value = value.Swap();
            }
            var data = SmallWorkBuffer.Get(2);

            data[0] = (byte)((value & 0x00FFu) >> 0);
            data[1] = (byte)((value & 0xFF00u) >> 8);
            stream.Write(data, 0, 2);
        }
示例#3
0
        public static void WriteValueU64(this Stream stream, ulong value, Endian endian)
        {
            if (ShouldSwap(endian) == true)
            {
                value = value.Swap();
            }
            var data   = SmallWorkBuffer.Get(8);
            var valuea = (uint)value;
            var valueb = (uint)(value >> 32);

            data[0] = (byte)((valuea & 0x000000FFu) >> 0);
            data[1] = (byte)((valuea & 0x0000FF00u) >> 8);
            data[2] = (byte)((valuea & 0x00FF0000u) >> 16);
            data[3] = (byte)((valuea & 0xFF000000u) >> 24);
            data[4] = (byte)((valueb & 0x000000FFu) >> 0);
            data[5] = (byte)((valueb & 0x0000FF00u) >> 8);
            data[6] = (byte)((valueb & 0x00FF0000u) >> 16);
            data[7] = (byte)((valueb & 0xFF000000u) >> 24);
            stream.Write(data, 0, 8);
        }