mirror of
https://github.com/aziascreations/PB-MessagePack.git
synced 2026-11-03 17:01:24 +01:00
f61f0160303d27fc814f97aab7134af9bd16d93c
PureBasic - MsgPack
PureBasic Include for serializing and deserializing MessagePack data.
Based on the msgpack/msgpack specification.
Features
Full support of the MessagePack specification- Still missing Map and Array
- Explicit or implicit data formats when reading/writing
- ReadInteger vs ReadI8/ReadU8/...
Fully documented
Limitations
- No custom
malloc/realloc/freecallbacks - More involved Map and Array parsing
- No dynamic typing
- Usage of larger
.qtype for field sizes- Helps prevent unsigned numbers causing issues on x86
- Particular handling of
NaNfor Float32 and Float640x7F800001gets returned as0x7FC00001(x87 FPU limitation)- ARM64 untested yet
- No implementation of the Timestamp extension
Usage
Submodule
Adding submodule:
git submodule add https://github.com/aziascreations/PB-MessagePack.git Includes/PB-MessagePack
Pull latest submodule version:
git submodule update --init --recursive
Inclusion
...
Examples
Writing explicitely
...
Cloning
Use this command to clone the repository and its submodules:
git clone --recurse-submodules https://github.com/aziascreations/PB-MessagePack.git
If you forgot the submodules, use this command:
git submodule update --init --recursive
Special Thanks
- AndyMK / agorangetek
- PureBasic Visual Studio Code Extension (GitHub repository)
- Louis Somers
- LsMsgPack windows utility (GitHub repository)
License
All the code in this repo is released in the Public Domain.
Languages
PureBasic
92.9%
PowerShell
4%
C#
1.8%
Python
1.3%