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----+
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.