2tvenom / cborencode
CBOR encoder for PHP
Installs: 9 016 729
Dependents: 17
Suggesters: 1
Security: 0
Stars: 61
Watchers: 8
Forks: 19
Open Issues: 5
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-10-29 04:36:22 UTC
README
Decoder/encoder from PHP data to CBOR binary string. This code has been developed and maintained by Ven at January 2014.
CBOR is an object representation format defined by the IETF. The specification has recently been approved as an IETF Standards-Track specification and has been published as RFC 7049.
Installation
Add 2tvenom/cborencode
as a requirement to composer.json:
{ "require": { "2tvenom/cborencode": "1.0.0" } }
Usage
<?php include("vendor/autoload.php"); //target for encode $target = array(true, array("variable1" => 100000, "variable2" => "Hello, World!", "Hello!"), 0.234, 0, null, 590834290589032580); //encoded string $encoded_data = \CBOR\CBOREncoder::encode($target); //debug info output $byte_arr = unpack("C*", $encoded_data); echo "Byte hex map = " . implode(" ", array_map(function($byte){ return "0x" . strtoupper(dechex($byte)); }, $byte_arr)) . PHP_EOL; echo "Byte dec map = " . implode(" ", $byte_arr) . PHP_EOL; //decode $decoded_variable = \CBOR\CBOREncoder::decode($encoded_data); //output var_dump($decoded_variable);
Compatibility
Checked with Ruby extension in encode and decode
Known issues
- Not support tags. 6 major type (in future)
- Not support 16 and 32 floats encoding (maybe in future)
- All floats will be serialized only as IEEE 754 Double-Precision Float (64 bits follow)
- Encode does't support indefinite-length values.