MoltenMercury/libWyvernzora/IO/ExStreams/ExStreamBase.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace libWyvernzora.IO
{
public abstract class ExStreamBase : Stream
{
//Base Stream
protected Stream m_base;
//Concrete Functions
public Byte[] ReadBytes(Int32 count)
{
Byte[] t_b = new Byte[count];
this.Read(t_b, 0, count);
return t_b;
}
public new Byte ReadByte()
{
Byte[] t_b = ReadBytes(1);
return t_b[0];
}
public SByte ReadSByte()
{ return HexTools.Sign(ReadByte()); }
public UInt16 ReadUShort(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoU16(ReadBytes(2), seq); }
public Int16 ReadShort(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoI16(ReadBytes(2), seq); }
public UInt32 ReadUInt(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoU32(ReadBytes(4), seq); }
public Int32 ReadInt(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoI32(ReadBytes(4), seq); }
public UInt64 ReadULong(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoU64(ReadBytes(8), BitSequence.LittleEndian); }
public Int64 ReadLong(BitSequence seq = BitSequence.LittleEndian)
{ return HexTools.HEXtoI64(ReadBytes(8), seq); }
public void WriteBytes(Byte[] b)
{ Write(b, 0, b.Length); }
public void WriteSByte(SByte b)
{ WriteByte(HexTools.Unsign(b)); }
public void WriteUShort(UInt16 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.U16toHEX(b, seq), 0, 2); }
public void WriteShort(Int16 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.I16toHEX(b, seq), 0, 2); }
public void WriteUInt(UInt32 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.U32toHEX(b, seq), 0, 4); }
public void WriteInt(Int32 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.I32toHEX(b, seq), 0, 4); }
public void WriteULong(UInt64 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.U64toHEX(b, seq), 0, 8); }
public void WriteLong(Int64 b, BitSequence seq = BitSequence.LittleEndian)
{ Write(HexTools.I64toHEX(b, seq), 0, 8); }
public void WriteTo(Stream dest, int buffer = 0x1000)
{
if (this.CanSeek) this.Seek(0, SeekOrigin.Begin);
Byte[] BUFFER;
后面还有 15 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。