mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
🐛Add support for Radix-50 character encoding, fixes #103
This commit is contained in:
1
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
1
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
@@ -600,6 +600,7 @@
|
|||||||
<e p="ext2FS.cs" t="Include" />
|
<e p="ext2FS.cs" t="Include" />
|
||||||
<e p="extFS.cs" t="Include" />
|
<e p="extFS.cs" t="Include" />
|
||||||
<e p="obj" t="ExcludeRecursive" />
|
<e p="obj" t="ExcludeRecursive" />
|
||||||
|
<e p="packages.config" t="Include" />
|
||||||
</e>
|
</e>
|
||||||
<e p="DiscImageChef.Filters" t="IncludeRecursive">
|
<e p="DiscImageChef.Filters" t="IncludeRecursive">
|
||||||
<e p="AppleDouble.cs" t="Include" />
|
<e p="AppleDouble.cs" t="Include" />
|
||||||
|
|||||||
@@ -31,8 +31,8 @@
|
|||||||
<ConsolePause>false</ConsolePause>
|
<ConsolePause>false</ConsolePause>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Claunia.Encoding, Version=1.0.6569.33160, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="Claunia.Encoding, Version=1.4.6570.38892, Culture=neutral, PublicKeyToken=null">
|
||||||
<HintPath>..\packages\Claunia.Encoding.1.3.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
|
<HintPath>..\packages\Claunia.Encoding.1.4.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
@@ -215,6 +215,9 @@
|
|||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="CPM\cpmdefs.xml" />
|
<EmbeddedResource Include="CPM\cpmdefs.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<MonoDevelop>
|
<MonoDevelop>
|
||||||
<Properties>
|
<Properties>
|
||||||
|
|||||||
@@ -33,9 +33,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Claunia.Encoding;
|
||||||
using DiscImageChef.CommonTypes;
|
using DiscImageChef.CommonTypes;
|
||||||
using DiscImageChef.DiscImages;
|
using DiscImageChef.DiscImages;
|
||||||
using Schemas;
|
using Schemas;
|
||||||
|
using Encoding = System.Text.Encoding;
|
||||||
|
|
||||||
namespace DiscImageChef.Filesystems
|
namespace DiscImageChef.Filesystems
|
||||||
{
|
{
|
||||||
@@ -66,7 +68,7 @@ namespace DiscImageChef.Filesystems
|
|||||||
public void GetInformation(IMediaImage imagePlugin, Partition partition, out string information,
|
public void GetInformation(IMediaImage imagePlugin, Partition partition, out string information,
|
||||||
Encoding encoding)
|
Encoding encoding)
|
||||||
{
|
{
|
||||||
Encoding = encoding ?? Encoding.GetEncoding("iso-8859-1");
|
Encoding = new Radix50();
|
||||||
information = "";
|
information = "";
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
@@ -90,15 +92,13 @@ namespace DiscImageChef.Filesystems
|
|||||||
ushort check = 0;
|
ushort check = 0;
|
||||||
for(int i = 0; i < 512; i += 2) check += BitConverter.ToUInt16(hbSector, i);
|
for(int i = 0; i < 512; i += 2) check += BitConverter.ToUInt16(hbSector, i);
|
||||||
|
|
||||||
sb.AppendFormat("Volume format is {0}", StringHandlers.SpacePaddedToString(homeblock.format, Encoding))
|
sb.AppendFormat("Volume format is {0}",
|
||||||
.AppendLine();
|
StringHandlers.SpacePaddedToString(homeblock.format, Encoding.ASCII)).AppendLine();
|
||||||
sb.AppendFormat("{0} sectors per cluster ({1} bytes)", homeblock.cluster, homeblock.cluster * 512)
|
sb.AppendFormat("{0} sectors per cluster ({1} bytes)", homeblock.cluster, homeblock.cluster * 512)
|
||||||
.AppendLine();
|
.AppendLine();
|
||||||
sb.AppendFormat("First directory segment starts at block {0}", homeblock.rootBlock).AppendLine();
|
sb.AppendFormat("First directory segment starts at block {0}", homeblock.rootBlock).AppendLine();
|
||||||
sb.AppendFormat("Volume owner is \"{0}\"",
|
sb.AppendFormat("Volume owner is \"{0}\"", Encoding.GetString(homeblock.ownername).TrimEnd()).AppendLine();
|
||||||
StringHandlers.SpacePaddedToString(homeblock.ownername, Encoding)).AppendLine();
|
sb.AppendFormat("Volume label: \"{0}\"", Encoding.GetString(homeblock.volname).TrimEnd()).AppendLine();
|
||||||
sb.AppendFormat("Volume label: \"{0}\"", StringHandlers.SpacePaddedToString(homeblock.volname, Encoding))
|
|
||||||
.AppendLine();
|
|
||||||
sb.AppendFormat("Checksum: 0x{0:X4} (calculated 0x{1:X4})", homeblock.checksum, check).AppendLine();
|
sb.AppendFormat("Checksum: 0x{0:X4} (calculated 0x{1:X4})", homeblock.checksum, check).AppendLine();
|
||||||
|
|
||||||
byte[] bootBlock = imagePlugin.ReadSector(0);
|
byte[] bootBlock = imagePlugin.ReadSector(0);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Claunia.Encoding" version="1.3.0" targetFramework="net40" />
|
<package id="Claunia.Encoding" version="1.4.0" targetFramework="net40" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -34,8 +34,8 @@
|
|||||||
<ConsolePause>false</ConsolePause>
|
<ConsolePause>false</ConsolePause>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Claunia.Encoding, Version=1.0.6569.33160, Culture=neutral, PublicKeyToken=null">
|
<Reference Include="Claunia.Encoding, Version=1.4.6570.38892, Culture=neutral, PublicKeyToken=null">
|
||||||
<HintPath>..\packages\Claunia.Encoding.1.3.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
|
<HintPath>..\packages\Claunia.Encoding.1.4.0\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="SharpCompress, Version=0.19.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96">
|
<Reference Include="SharpCompress, Version=0.19.2.0, Culture=neutral, PublicKeyToken=afb0a02973931d96">
|
||||||
<HintPath>..\packages\SharpCompress.0.19.2\lib\net35\SharpCompress.dll</HintPath>
|
<HintPath>..\packages\SharpCompress.0.19.2\lib\net35\SharpCompress.dll</HintPath>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Claunia.Encoding" version="1.3.0" targetFramework="net40" />
|
<package id="Claunia.Encoding" version="1.4.0" targetFramework="net40" />
|
||||||
<package id="CommandLineParser" version="2.1.1-beta" targetFramework="net40" />
|
<package id="CommandLineParser" version="2.1.1-beta" targetFramework="net40" />
|
||||||
<package id="SharpCompress" version="0.19.2" targetFramework="net40" />
|
<package id="SharpCompress" version="0.19.2" targetFramework="net40" />
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user