# enc-utils

> Byte encoding utils

Latest version **3.0.0** (published 2020-11-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install enc-utils
pnpm add enc-utils
yarn add enc-utils
bun add enc-utils
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2020-11-17 |
| First published | 2020-04-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 157.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | Pedro Gomes |
| Maintainers | pedrouid |
| Keywords | encoding, utils, utf8, hex, buffer, uint8array, arraybuffer, number, padLeft |

## Links

- npm: https://www.npmjs.com/package/enc-utils
- Repository: https://github.com/pedrouid/enc-utils
- Issues: https://github.com/pedrouid/enc-utils/issues
- npm.io page: https://npm.io/package/enc-utils

## Dependencies (2)

- [is-typedarray](https://npm.io/package/is-typedarray.md) 1.0.0
- [typedarray-to-buffer](https://npm.io/package/typedarray-to-buffer.md) 3.1.5

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [jwt-simple](https://npm.io/package/jwt-simple.md) — 259.5K weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads

## Recent versions

- 3.0.0 (latest) — 2020-11-17
- 2.2.3 — 2020-11-14
- 2.2.2 — 2020-08-03
- 2.2.1 — 2020-07-01
- 2.2.0 — 2020-06-28
- 2.1.0 — 2020-05-06
- 2.0.0 — 2020-05-06
- 1.3.0 — 2020-04-15
- 1.2.0 — 2020-04-15
- 1.1.0 — 2020-04-15
- 1.0.0 — 2020-04-15

## README

# enc-utils [![npm version](https://badge.fury.io/js/enc-utils.svg)](https://badge.fury.io/js/enc-utils)

Byte encoding utils

## API

```typescript
// -- Buffer --------------------------------------------- //

function bufferToUtf8(buf: Buffer): string;
function bufferToHex(buf: Buffer, prefixed?: boolean): string;
function bufferToArray(buf: Buffer): Uint8Array;
function bufferToNumber(buf: Buffer): number;
function bufferToBinary(buf: Buffer): string;

// -- Utf8 ----------------------------------------------- //

function utf8ToBuffer(utf8: string): Buffer;
function utf8ToHex(utf8: string, prefixed?: boolean): string;
function utf8ToArray(utf8: string): Uint8Array;
function utf8ToNumber(utf8: string): number;
function utf8ToBinary(utf8: string): string;

// -- Hex ------------------------------------------------ //

function hexToBuffer(hex: string): Buffer;
function hexToUtf8(hex: string): string;
function hexToArray(hex: string): Uint8Array;
function hexToNumber(hex: string): number;
function hexToBinary(hex: string): string;

// -- Uint8Array ----------------------------------------- //

function arrayToBuffer(arr: Uint8Array): Buffer;
function arrayToUtf8(arr: Uint8Array): string;
function arrayToHex(arr: Uint8Array, prefixed?: boolean): string;
function arrayToNumber(arr: Uint8Array): number;
function arrayToBinary(arr: Uint8Array): string;

// -- Number ---------------------------------------- //

function numberToBuffer(num: number): Buffer;
function numberToUtf8(num: number): string;
function numberToHex(num: number, prefixed?: boolean): string;
function numberToArray(num: number): Uint8Array;
function numberToBinary(num: number): string;

// -- Binary ----------------------------------------------- //

function binaryToBuffer(bin: string): Buffer;
function binaryToArray(bin: string): Uint8Array;
function binaryToHex(bin: string | string, prefixed?: boolean): string;
function binaryToUtf8(bin: string): string;
function binaryToNumber(bin: string): number;

// -- Validators ----------------------------------------- //

function isBinaryString(str: any): boolean;
function isHexString(str: any, length?: number): boolean;
function isBuffer(val: any): boolean;
function isTypedArray(val: any): boolean;
function isArrayBuffer(val: any): boolean;

function getType(val: any);
function getEncoding(str: string);

// -- Misc ----------------------------------------------- //

function concatBuffers(...args: Buffer[]): Buffer;
function concatArrays(...args: Uint8Array[]): Uint8Array;
function trimLeft(data: Buffer, length: number): Buffer;
function trimRight(data: Buffer, length: number): Buffer;

function calcByteLength(length: number, byteSize: number): number;
function splitBytes(str: string, byteSize: number): string[];
function sanitizeBytes(str: string, byteSize: number, padding: string): string;
function swapBytes(str: string): string;
function swapHex(str: string): string;

function padLeft(str: string, length: number, padding?: string): string;
function padRight(str: string, length: number, padding?: string): string;

function removeHexPrefix(hex: string): string;
function addHexPrefix(hex: string): string;
function sanitizeHex(hex: string): string;
function removeHexLeadingZeros(hex: string): string;
```

---
_Source: https://npm.io/package/enc-utils · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
