📄 README.md

← 返回目录

encoding-sniffer ![Node.js CI](https://github.com/fb55/encoding-sniffer/actions/workflows/nodejs-test.yml)

An implementation of the HTML encoding sniffer algo, with stream support.

This module wraps around iconv-lite to make decoding buffers and streams incredibly easy.

Features

- Support for streams

Usage

import { DecodeStream, getEncoding, decodeBuffer } from "encoding-sniffer";

/** * All functions accept an optional options object. * * Available options are (with default values): */ const options = { /** * The maximum number of bytes to sniff. Defaults to 1024. */ maxBytes: 1024, /** * The encoding specified by the user. If set, this will only be overridden * by a Byte Order Mark (BOM). */ userEncoding: undefined, /** * The encoding specified by the transport layer. If set, this will only be * overridden by a Byte Order Mark (BOM) or the user encoding. */ transportLayerEncodingLabel: undefined, /** * The default encoding to use, if no encoding can be detected. * * Defaults to "windows-1252". */ defaultEncoding: "windows-1252", };

// Use the DecodeStream transform stream to automatically decode // the contents of a stream as they are read const decodeStream = new DecodeStream(options);

// Or, use the getEncoding function to detect the encoding of a buffer const encoding = getEncoding(buffer, options);

// Use the decodeBuffer function to decode the contents of a buffer const decodedBuffer = decodeBuffer(buffer, options);

License

This project is licensed under the MIT License. See the LICENSE file for more information.