diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs index 68114c14..f921b48a 100644 --- a/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs +++ b/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs @@ -834,6 +834,10 @@ namespace UniversalEditor.IO return retval; } + /// + /// Reads a 64-bit floating-point value. + /// + /// The double. public double ReadDouble() { byte[] buffer = ReadBytes((uint)8); @@ -945,7 +949,7 @@ namespace UniversalEditor.IO while (true) { byte nextChar = ReadByte(); - if (nextChar == 0) + if ((nextChar == 0 && !(encoding == Encoding.UTF16LittleEndian)) || ((encoding == Encoding.UTF16LittleEndian) && (nextChar == 0 && (r.Count > 2 && r[r.Count - 1] == 0)))) { string result = encoding.GetString(r.ToArray()); return result;