From 0d034ce4d096cc763a20328f2ae7a3a03d0a2735 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 27 Dec 2017 21:57:07 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9BAdd=20support=20for=20Radix-50=20ch?= =?UTF-8?q?aracter=20encoding,=20fixes=20#103?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.idea.DiscImageChef/.idea/contentModel.xml | 1 + .../DiscImageChef.Filesystems.csproj | 7 +++++-- DiscImageChef.Filesystems/RT11.cs | 14 +++++++------- DiscImageChef.Filesystems/packages.config | 2 +- DiscImageChef/DiscImageChef.csproj | 4 ++-- DiscImageChef/packages.config | 2 +- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index f8d6e24e..7b3d6999 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -600,6 +600,7 @@ + diff --git a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj index 443fef82..7a1453d7 100644 --- a/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj +++ b/DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj @@ -31,8 +31,8 @@ false - - ..\packages\Claunia.Encoding.1.3.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll + + ..\packages\Claunia.Encoding.1.4.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll @@ -215,6 +215,9 @@ + + + diff --git a/DiscImageChef.Filesystems/RT11.cs b/DiscImageChef.Filesystems/RT11.cs index e54563c3..18c5e7bc 100644 --- a/DiscImageChef.Filesystems/RT11.cs +++ b/DiscImageChef.Filesystems/RT11.cs @@ -33,9 +33,11 @@ using System; using System.Runtime.InteropServices; using System.Text; +using Claunia.Encoding; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using Schemas; +using Encoding = System.Text.Encoding; namespace DiscImageChef.Filesystems { @@ -66,7 +68,7 @@ namespace DiscImageChef.Filesystems public void GetInformation(IMediaImage imagePlugin, Partition partition, out string information, Encoding encoding) { - Encoding = encoding ?? Encoding.GetEncoding("iso-8859-1"); + Encoding = new Radix50(); information = ""; StringBuilder sb = new StringBuilder(); @@ -90,15 +92,13 @@ namespace DiscImageChef.Filesystems ushort check = 0; for(int i = 0; i < 512; i += 2) check += BitConverter.ToUInt16(hbSector, i); - sb.AppendFormat("Volume format is {0}", StringHandlers.SpacePaddedToString(homeblock.format, Encoding)) - .AppendLine(); + sb.AppendFormat("Volume format is {0}", + StringHandlers.SpacePaddedToString(homeblock.format, Encoding.ASCII)).AppendLine(); sb.AppendFormat("{0} sectors per cluster ({1} bytes)", homeblock.cluster, homeblock.cluster * 512) .AppendLine(); sb.AppendFormat("First directory segment starts at block {0}", homeblock.rootBlock).AppendLine(); - sb.AppendFormat("Volume owner is \"{0}\"", - StringHandlers.SpacePaddedToString(homeblock.ownername, Encoding)).AppendLine(); - sb.AppendFormat("Volume label: \"{0}\"", StringHandlers.SpacePaddedToString(homeblock.volname, Encoding)) - .AppendLine(); + sb.AppendFormat("Volume owner is \"{0}\"", Encoding.GetString(homeblock.ownername).TrimEnd()).AppendLine(); + sb.AppendFormat("Volume label: \"{0}\"", Encoding.GetString(homeblock.volname).TrimEnd()).AppendLine(); sb.AppendFormat("Checksum: 0x{0:X4} (calculated 0x{1:X4})", homeblock.checksum, check).AppendLine(); byte[] bootBlock = imagePlugin.ReadSector(0); diff --git a/DiscImageChef.Filesystems/packages.config b/DiscImageChef.Filesystems/packages.config index 2f05339b..f3e60871 100644 --- a/DiscImageChef.Filesystems/packages.config +++ b/DiscImageChef.Filesystems/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/DiscImageChef/DiscImageChef.csproj b/DiscImageChef/DiscImageChef.csproj index 803b696c..98d6e5f4 100644 --- a/DiscImageChef/DiscImageChef.csproj +++ b/DiscImageChef/DiscImageChef.csproj @@ -34,8 +34,8 @@ false - - ..\packages\Claunia.Encoding.1.3.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll + + ..\packages\Claunia.Encoding.1.4.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll ..\packages\SharpCompress.0.19.2\lib\net35\SharpCompress.dll diff --git a/DiscImageChef/packages.config b/DiscImageChef/packages.config index de5672f9..656f5e8d 100644 --- a/DiscImageChef/packages.config +++ b/DiscImageChef/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file