public static bool TryParse(ReadOnlySpan <byte> buffer, out BInt?value, out int consumed) { consumed = 0; value = null; if (buffer.IsEmpty) { return(false); } if (buffer[0] != 'i') { return(false); } consumed++; var countB = new List <byte>(); for (; consumed < buffer.Length && char.IsDigit((char)buffer[consumed]); consumed++) { countB.Add(buffer[consumed]); } if (countB.Count == 0) { return(false); } if (buffer.Length == consumed || buffer[consumed] != 'e') { return(false); } consumed++; value = new BInt(long.Parse(Encoding.UTF8.GetString(countB.ToArray()))); return(true); }
public TorrentFile(BInt length, BStr[] path) { Length = length; Path = path; }