Kit
Functions

getI32Codec

getI32Codec(config): FixedSizeCodec<number | bigint, number, 4>

Returns a codec for encoding and decoding 32-bit signed integers (i32).

This codec serializes i32 values using 4 bytes. Values can be provided as either number or bigint, but the decoded value is always a number.

Parameters

ParameterTypeDescription
configNumberCodecConfigOptional configuration to specify endianness (little by default).

Returns

FixedSizeCodec<number | bigint, number, 4>

A FixedSizeCodec<number | bigint, number, 4> for encoding and decoding i32 values.

Examples

Encoding and decoding an i32 value.

const codec = getI32Codec();
const bytes = codec.encode(-42); // 0xd6ffffff
const value = codec.decode(bytes); // -42

Using big-endian encoding.

const codec = getI32Codec({ endian: Endian.Big });
const bytes = codec.encode(-42); // 0xffffffd6

Remarks

This codec supports values between -2^31 (-2,147,483,648) and 2^31 - 1 (2,147,483,647).

Separate getI32Encoder and getI32Decoder functions are available.

const bytes = getI32Encoder().encode(-42);
const value = getI32Decoder().decode(bytes);

See

On this page