public static string Read8BitChars(this IReadable input, int length) { var s = new StringBuilder(); for (int i = 0; i < length; i++) { s.AppendChar(input.ReadByte()); } return s.ToString(); }
public static string Read8BitString(this IReadable input) { var s = new StringBuilder(); var c = input.ReadByte(); while (c != 0) { s.AppendChar(c); c = input.ReadByte(); } return s.ToString(); }
public static string Read8BitStringLength(this IReadable input, int length) { var s = new StringBuilder(); var z = -1; for (int i = 0; i < length; i++) { var c = input.ReadByte(); if (c == 0 && z == -1) z = i; s.AppendChar(c); } var t = s.ToString(); if (z >= 0) return t.Substring(0, z); return t; }