C# Library for reading legacy IBM formatted bits like EBCDIC, big endian and floating point
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Unplugged.IbmBits.Desktop
Unplugged.IbmBits.Shared
Unplugged.IbmBits.Tests.Desktop
Unplugged.IbmBits.Tests.Shared
Unplugged.IbmBits.Tests.iOS
Unplugged.IbmBits.iOS
Unplugged.IbmBits
.gitattributes
.gitignore
UnpluggedIbmBits.sln
license.txt
readme.md

readme.md

Legacy IBM Data Reading Library in C#

MIT License NuGet Build status

Helps read/write and convert between legacy IBM System formats and .NET types. Includes IbmConverter class as well as BinaryReader & BinaryWriter extensions for EBCDIC string, Big Endian Int16, Big Endian Int32 and IBM System/360 single precision floating point format.

Issues welcome. Do not fold, spindle, or mutilate.

Example of using BinaryReader extension methods

using System.IO;
using Unplugged.IbmBits;
using (var stream = File.OpenRead("punchcard.bin"))
using (var reader = new BinaryReader(stream))
{
    string text = reader.ReadStringEbcdic(12);
    float f = reader.ReadSingleIbm();
    int i16 = reader.ReadInt16BigEndian();
    int i32 = reader.ReadInt32BigEndian();
}

Example of using BinaryWriter extension methods

    using (var stream = File.OpenWrite("punchcard.bin"))
    using (var writer = new BinaryWriter(stream))
    {
        writer.WriteEbcdic("Hello, World");
        writer.WriteIbmSingle(3.14f);
        writer.WriteBigEndian((Int16) 13);
        writer.WriteBigEndian((Int32) 54321);
    }