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;