CBOR test
by Ben Gillbanks
HTML
<script src="https://cdn.jsdelivr.net/gh/paroga/cbor-js/cbor.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/pako.min.js"></script>
<div id="url-example"></div>
JavaScript
var initial = { map: '123456789', score: 10000, s: 0, a: [0,0,0,1,1,0,0,1,0,1] };
var encoded = CBOR.encode(initial);
var decoded = CBOR.decode(encoded);
prepareUrl(encoded);
/* console.log(encoded);
console.log(decoded);
*/
var initial2 = {...initial};
initial2.a = Uint8Array.from( initial.a );
var encodedUint8 = CBOR.encode(initial2);
prepareUrl(encoded);
console.log(Uint8Array.from( initial.a ));
function prepareUrl( encoded ) {
const base64 = btoa(String.fromCharCode.apply(null, new Uint8Array(encoded)));
const urlSafeBase64 = encodeURIComponent(base64);
const $e = document.getElementById('url-example');
$e.innerHTML = $e.innerHTML + `<br><br>https://example.com/#!${urlSafeBase64}`;
}