public static string ReadStringZeroTrim(this BinaryReader br) { var pos = br.BaseStream.Position; var length = 0; while (br.ReadByte() > 0) { length++; } br.BaseStream.Position = pos; var str = PsbEncoding.GetString(br.ReadBytes(length)); br.ReadByte(); //skip \0 - fail if end without \0 return(str); }
public static void WriteStringZeroTrim(this BinaryWriter bw, string str) { //bw.Write(str.ToCharArray()); bw.Write(PsbEncoding.GetBytes(str)); bw.Write((byte)0); }