Ultrafast UTF-8 data validation

  • uv

Downloads in past


1.4.0a year ago10 years agoMinified + gzip package size for uv in KB


npm version npm downloads npm types node version license
Ultrafast UTF-8 data validation


npm i uv


uv(buffer: Buffer | Uint8Array, start?: number, end?: number): boolean
uv exports a function that accepts a buffer as an argument and validate it for UTF-8 data, optionally it accepts two more arguments for slice validation as start and end indexes, which are zero-based values that cannot be negative numbers.
const uv = require('uv');

const someBuffer = Buffer.from('Some UTF-8 data');

uv(someBuffer); // => true

uv(Buffer.from([0xFF, 0x00, 0x00, 0x00, 0xFF])); // => false

//               0     1     2     3     4
uv(Buffer.from([0xFF, 0x00, 0x00, 0x00, 0xFF]), 1, 4); // => true
//                   |                 |        |  |
//                   +------start------|--------+  |
//                                     +----end----+

Comparison with other UTF-8 validation packages

This module is a pure JavaScript implementation of UTF-8 validation, in most cases it is faster than other alternatives, performance may vary based on OS, node version, CPU or input size, please run the bench.js file from the github repo for a benchmark on your machine to compare it with other UTF-8 validation implementations.