Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

std/encoding/varint.ts>encode

The Deno Standard Library
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function encode
Deprecated
Deprecated

(will be removed in 1.0.0) Use encodeVarint instead.

import { encode } from "https://deno.land/std@0.222.0/encoding/varint.ts";

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.

Examples

Example 1

import { encode } from "https://deno.land/std@0.222.0/encoding/varint.ts";

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

Parameters

num: bigint | number

The number to encode.

optional
buf: Uint8Array = [UNSUPPORTED]

The buffer to write into.

optional
offset = [UNSUPPORTED]

The offset to start writing at.

Returns

[Uint8Array, number]

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