public Mpi(byte[] data) { byte[] b = new byte[data.Length]; Array.Copy(data.Reverse().ToArray(), b, data.Length); ByteBuilder builder = new ByteBuilder().Append(b); if (b.Last() != 0) { builder.Append(0); } Value = new BigInteger(builder.ToArray()); }
public static string ReadASCIIString(this BinaryReader reader, int count) { ByteBuilder builder = new ByteBuilder(); int read = 0; while (true) { if (read++ >= count) { break; } byte b = reader.ReadByte(); builder.Append(b); } return Encoding.ASCII.GetString(builder.ToArray()).TrimEnd('\0'); }