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

}