Simple Structured Binary Format is a simple, efficient, structured binary data format. It mimics JSON, with additional types and compression support.
This library provides a C# interface for it, though feel free to port it to any other languages or write your own implementation!
- Supports a bunch of data types:
null,object,array,bool,sbyte,short,int,long,byte,ushort,uint,ulong,Half,float,double,stringandbyte[] - Supports compression methods: None, Gzip, and Deflate.
- Simple API for reading and writing SSBF data.
Get it on NuGet
To use SSBF in your project, add a reference to the SimpleStructuredBinaryFormat namespace.
using SimpleStructuredBinaryFormat;
using System.IO;
using System.Linq;
var obj = new SsbfObject
{
["employees"] = new SsbfArray
{
new SsbfObject
{
["name"] = "John Doe",
["age"] = 30,
["gender"] = "male",
["married"] = false,
["salary"] = 50000.0
},
new SsbfObject
{
["name"] = "Mary Jane",
["age"] = 28,
["gender"] = "female",
["married"] = true,
["salary"] = 60000.0
},
},
["data"] = Enumerable.Range(0, 10000).Select(x => (byte)(x % 256)).ToArray()
};
using (var stream = File.Open("employees.ssbf", FileMode.Create))
{
SsbfWrite.WriteToStream(stream, obj, Compression.Gzip);
}using SimpleStructuredBinaryFormat;
using System.IO;
using (var stream = File.Open("employees.ssbf", FileMode.Open))
{
var obj = SsbfRead.ReadFromStream(stream);
Console.WriteLine(obj);
}SsbfObject: Represents a structured object with key-value pairs.SsbfArray: Represents an array of SSBF nodes.SsbfByteArray: Represents a byte array.SsbfWrite: Provides methods to write SSBF data to a stream.SsbfRead: Provides methods to read SSBF data from a stream.
SsbfWrite.WriteToStream(Stream stream, SsbfObject obj, Compression compression): Writes the specified SSBF node to the stream.SsbfRead.ReadFromStream(Stream stream): Reads an SSBF node from the stream.
Compression: Specifies the compression method. Values:None,Gzip(recommended),Deflate.
This project is licensed under the MIT License. See the LICENSE file for details.