예제 #1
0
        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);
        }
예제 #2
0
 public static void WriteStringZeroTrim(this BinaryWriter bw, string str)
 {
     //bw.Write(str.ToCharArray());
     bw.Write(PsbEncoding.GetBytes(str));
     bw.Write((byte)0);
 }