wtf-8

    1.0.1 • Public • Published

    wtf-8 Build status Dependency status

    wtf-8 is a well-tested WTF-8 encoder/decoder written in JavaScript. WTF-8 is a superset of UTF-8: it can encode/decode any given Unicode code point, including those of (unpaired) surrogates. Here’s an online demo.

    Feel free to fork if you see possible improvements!

    Installation

    Via npm:

    npm install wtf-8

    Via Bower:

    bower install wtf-8

    Via Component:

    component install mathiasbynens/wtf-8

    In a browser:

    <script src="wtf-8.js"></script>

    In Narwhal, Node.js, and RingoJS ≥ v0.8.0:

    var wtf8 = require('wtf-8');

    In Rhino:

    load('wtf-8.js');

    Using an AMD loader like RequireJS:

    require(
      {
        'paths': {
          'wtf-8': 'path/to/wtf-8'
        }
      },
      ['wtf-8'],
      function(wtf8) {
        console.log(wtf8);
      }
    );

    API

    wtf8.encode(string)

    Encodes any given JavaScript string (string) as WTF-8, and returns the WTF-8-encoded version of the string.

    // U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9
    wtf8.encode('\xA9');
    // → '\xC2\xA9'
    // U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001
    wtf8.encode('\uD800\uDC01');
    // → '\xF0\x90\x80\x81'

    wtf8.decode(byteString)

    Decodes any given WTF-8-encoded string (byteString) as WTF-8, and returns the WTF-8-decoded version of the string. It throws an error when malformed WTF-8 is detected.

    wtf8.decode('\xC2\xA9');
    // → '\xA9'
     
    wtf8.decode('\xF0\x90\x80\x81');
    // → '\uD800\uDC01'
    // → U+10001 LINEAR B SYLLABLE B038 E

    wtf8.version

    A string representing the semantic version number.

    Support

    wtf-8 has been tested in (at least) the latest versions of Chrome, Opera, Firefox, Safari, IE, Node.js, Narwhal, RingoJS, PhantomJS, and Rhino.

    Author

    twitter/mathias
    Mathias Bynens

    License

    wtf-8 is available under the MIT license.

    Install

    npm i wtf-8

    Homepage

    mths.be/wtf8

    DownloadsWeekly Downloads

    244,728

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • mathias