s8(endianness?: Endianness): Coder<number>
Creates a coder for 8-bit signed integers.
This function creates a coder that can encode/decode 8-bit signed integers (range -128 to 127). The endianness parameter determines the byte order used.
Example 1
Example 1
import { assertEquals } from "@std/assert"; import { s8 } from "@hertzg/binstruct/numeric"; // Create big-endian and little-endian coders const s8be = s8("be"); const s8le = s8("le"); // Test data const testValue = -128; // Encode and decode with big-endian const bufferBE = new Uint8Array(1); const bytesWrittenBE = s8be.encode(testValue, bufferBE); const [decodedBE, bytesReadBE] = s8be.decode(bufferBE); assertEquals(decodedBE, testValue); assertEquals(bytesWrittenBE, 1); assertEquals(bytesReadBE, 1); // Encode and decode with little-endian const bufferLE = new Uint8Array(1); const bytesWrittenLE = s8le.encode(testValue, bufferLE); const [decodedLE, bytesReadLE] = s8le.decode(bufferLE); assertEquals(decodedLE, testValue); assertEquals(bytesWrittenLE, 1); assertEquals(bytesReadLE, 1);
optional
endianness: Endianness = be
The byte order to use ("be" for big-endian, "le" for little-endian), defaults to "be"
Coder<number>
A Coder<number> for 8-bit signed integers