You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
孙建超 4dd23d11fb 搬运v4.5 1 month ago
..
Unplugged.IbmBits 搬运代码 1 month ago
Unplugged.IbmBits.Desktop 搬运代码 1 month ago
Unplugged.IbmBits.Shared 搬运代码 1 month ago
Unplugged.IbmBits.Tests.Desktop 搬运代码 1 month ago
Unplugged.IbmBits.Tests.Shared 搬运代码 1 month ago
Unplugged.IbmBits.Tests.iOS 搬运代码 1 month ago
Unplugged.IbmBits.iOS 搬运代码 1 month ago
.gitattributes 搬运代码 1 month ago
.gitignore 搬运v4.5 1 month ago
UnpluggedIbmBits.sln 搬运代码 1 month ago
license.txt 搬运代码 1 month ago
readme.md 搬运代码 1 month ago

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);
    }