Have ideas to improve npm?Join in the discussion! »

    charset
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/charset package

    1.0.1 • Public • Published

    charset

    NPM version build status Test coverage David deps npm download

    logo

    Get the content charset from header and html content-type.

    Install

    $ npm install charset --save

    Usage

    Detect charset from http client response and content

    var charset = require('charset');
    var http = require('http');
     
    http.get('http://nodejs.org', function (res) {
      res.on('data', function (chunk) {
        console.log(charset(res.headers, chunk));
        // or `console.log(charset(res, chunk));`
        res.destroy();
      });
    });

    Stdout will should log: utf8 .

    Detect from String

    charset(res.headers['content-type']);

    Detect combine with jschardet

    As you know, charset only detect from http response headers and html content-type meta tag. You can combine with jschardet to help you detect the finally charset.

    This example codes come from stackoverflow#12326688:

    var request = require('request');
    var charset = require('charset');
    var jschardet = require('jschardet');
     
    request({
      url: 'http://www.example.com',
      encoding: null
    }, function (err, res, body) {
      if (err) {
        throw err;
      }
      enc = charset(res.headers, body);
      enc = enc || jschardet.detect(body).encoding.toLowerCase();
      console.log(enc);
    });

    License

    MIT

    Install

    npm i charset

    DownloadsWeekly Downloads

    321,480

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • avatar