diff --git a/DiscImageChef/StringHandlers.cs b/DiscImageChef/StringHandlers.cs index 9b5daeec..a5762661 100644 --- a/DiscImageChef/StringHandlers.cs +++ b/DiscImageChef/StringHandlers.cs @@ -43,6 +43,11 @@ namespace DiscImageChef { public static class StringHandlers { + /// + /// Converts a null-terminated (aka C string) ASCII byte array to a C# string + /// + /// The corresponding C# string + /// A null-terminated (aka C string) ASCII byte array public static string CToString(byte[] CString) { StringBuilder sb = new StringBuilder(); @@ -58,6 +63,11 @@ namespace DiscImageChef return sb.ToString(); } + /// + /// Converts a length-prefixed (aka Pascal string) ASCII byte array to a C# string + /// + /// The corresponding C# string + /// A length-prefixed (aka Pascal string) ASCII byte array public static string PascalToString(byte[] PascalString) { StringBuilder sb = new StringBuilder(); @@ -72,23 +82,28 @@ namespace DiscImageChef return sb.ToString(); } - public static string SpaceTerminatedToString(byte[] SpaceTerminatedString) + /// + /// Converts a space (' ', 0x20, ASCII SPACE) padded ASCII byte array to a C# string + /// + /// The corresponding C# string + /// A space (' ', 0x20, ASCII SPACE) padded ASCII byte array + public static string SpacePaddedToString(byte[] SpacePaddedString) { int length; - for (int i = SpaceTerminatedString.Length; i >= 0; i--) + for (int i = SpacePaddedString.Length; i >= 0; i--) { if (i == 0) return ""; - if (SpaceTerminatedString[i - 1] != 0x20) + if (SpacePaddedString[i - 1] != 0x20) { length = i; break; } } - return Encoding.ASCII.GetString(SpaceTerminatedString, 0, length); + return Encoding.ASCII.GetString(SpacePaddedString, 0, length); } } }