From 8c9939e0b76e97a13e566cc41739ba322f773475 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 11 Jul 2017 02:32:40 +0100 Subject: [PATCH] Added support for UTF-16 and other two-byte encodings. --- StringHandlers.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/StringHandlers.cs b/StringHandlers.cs index d7673784d..51102d9ab 100644 --- a/StringHandlers.cs +++ b/StringHandlers.cs @@ -53,7 +53,7 @@ namespace DiscImageChef /// The corresponding C# string /// A null-terminated (aka C string) byte array in the specified encoding /// Encoding. - public static string CToString(byte[] CString, Encoding encoding) + public static string CToString(byte[] CString, Encoding encoding, bool twoBytes = false) { if(CString == null) return null; @@ -63,7 +63,20 @@ namespace DiscImageChef for(int i = 0; i < CString.Length; i++) { if(CString[i] == 0) - break; + { + if(twoBytes) + { + if((i + 1) < CString.Length && CString[i + 1] == 0) + { + len++; + break; + } + // if((i + 1) == CString.Length) +// break; + } + else + break; + } len++; }