JSFiddle - React, Tailwind, and code Playground
by oysteinmoseng
JavaScript
console.clear();
function varInt(n) {
const buf = [];
return buf;
}
function b(n) {
var buffer = n & 0x7F;
while (n >>= 7) {
buffer <<= 8;
buffer |= (n & 0x7F) | 0x80;
}
var res = [];
while (true) {
res.push(buffer & 0xff);
if (buffer & 0x80) {
buffer >>= 8;
}
else { break; }
}
return res;
}
const v = (n, k) => {
const res = b(n).map(x => x.toString(16)).join(',');
console.log(n + ' = ' + k, res === k ? '-- YES --' : 'no (' + res + ')');
}
v(0x00, '0')
v(0x40, '40')
v(0x7F, '7f')
v(0x80, '81,0')
v(0x2000, 'c0,0')
v(0x3FFF, 'ff,7f')
v(0x4000, '81,80,0')
v(0x100000, 'c0,80,0')
v(0x1FFFFF, 'ff,ff,7f')
v(0x200000, '81,80,80,0')
v(0x8000000, 'c0,80,80,0')
v(0xFFFFFFF, 'ff,ff,ff,7f')