Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback


The Deno Standard Library
Go to Latest
function encodeVarint
import { encodeVarint } from "";

Takes unsigned number num and converts it into a VarInt encoded Uint8Array, returning a tuple consisting of a Uint8Array slice of the encoded VarInt, and an offset where the VarInt encoded bytes end within the Uint8Array.

If buf is not given then a Uint8Array will be created. offset defaults to 0.

If passed buf then that will be written into, starting at offset. The resulting returned Uint8Array will be a slice of buf. The resulting returned number is effectively offset + bytesWritten.


Example 1

import { encodeVarint } from "";

const buf = new Uint8Array(10);
encodeVarint(42n, buf); // [ Uint8Array(1) [ 42 ], 1 ];


num: bigint | number

The number to encode.

buf: Uint8Array = [UNSUPPORTED]

The buffer to write into.

offset = [UNSUPPORTED]

The offset to start writing at.


[Uint8Array, number]

A tuple of the encoded VarInt Uint8Array and the new offset.