{
  "name": "utf8",
  "version": "2.0.0",
  "description": "A well-tested UTF-8 encoder/decoder written in JavaScript.",
  "homepage": "http://mths.be/utf8js",
  "main": "utf8.js",
  "keywords": [
    "charset",
    "encoding",
    "unicode",
    "utf8"
  ],
  "licenses": [
    {
      "type": "MIT",
      "url": "http://mths.be/mit"
    },
    {
      "type": "GPL",
      "url": "http://mths.be/gpl"
    }
  ],
  "author": {
    "name": "Mathias Bynens",
    "url": "http://mathiasbynens.be/"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/mathiasbynens/utf8.js.git"
  },
  "bugs": {
    "url": "https://github.com/mathiasbynens/utf8.js/issues"
  },
  "directories": {
    "test": "tests"
  },
  "scripts": {
    "test": "node tests/tests.js"
  },
  "dependencies": {},
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-shell": "~0.2.2",
    "istanbul": "~0.1.36",
    "qunit-clib": "~1.3.0",
    "qunitjs": "~1.11.0",
    "requirejs": "~2.1.6"
  },
  "readme": "# utf8.js [![Build status](https://travis-ci.org/mathiasbynens/utf8.js.png?branch=master)](https://travis-ci.org/mathiasbynens/utf8.js) [![Dependency status](https://gemnasium.com/mathiasbynens/utf8.js.png)](https://gemnasium.com/mathiasbynens/utf8.js)\n\n_utf8.js_ is a well-tested UTF-8 encoder/decoder written in JavaScript. Unlike many other JavaScript solutions, it is designed to be a _proper_ UTF-8 encoder/decoder: it can encode/decode any given Unicode code point, including astral symbols and unpaired surrogates.\n\nFeel free to fork if you see possible improvements!\n\n## Installation\n\nVia [npm](http://npmjs.org/):\n\n```bash\nnpm install utf8\n```\n\nVia [Bower](http://bower.io/):\n\n```bash\nbower install utf8\n```\n\nVia [Component](https://github.com/component/component):\n\n```bash\ncomponent install mathiasbynens/utf8.js\n```\n\nIn a browser:\n\n```html\n<script src=\"utf8.js\"></script>\n```\n\nIn [Narwhal](http://narwhaljs.org/), [Node.js](http://nodejs.org/), and [RingoJS ≥ v0.8.0](http://ringojs.org/):\n\n```js\nvar utf8 = require('utf8');\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('utf8.js');\n```\n\nUsing an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire(\n  {\n    'paths': {\n      'utf8': 'path/to/utf8'\n    }\n  },\n  ['utf8'],\n  function(utf8) {\n    console.log(utf8);\n  }\n);\n```\n\n## API\n\n### `utf8.encode(string)`\n\nEncodes any given JavaScript string (`string`) as UTF-8, and returns the UTF-8-encoded version of the string.\n\n```js\n// U+00A9 COPYRIGHT SIGN; see http://codepoints.net/U+00A9\nutf8.encode('\\xA9');\n// → '\\xC2\\xA9'\n// U+10001 LINEAR B SYLLABLE B038 E; see http://codepoints.net/U+10001\nutf8.encode('\\uD800\\uDC01');\n// → '\\xF0\\x90\\x80\\x81'\n```\n\n### `utf8.decode(byteString)`\n\nEncodes any given UTF-8-encoded string (`byteString`) as UTF-8, and returns the UTF-8-decoded version of the string. It throws an error when malformed UTF-8 is detected.\n\n```js\nutf8.decode('\\xC2\\xA9');\n// → '\\xA9'\n\nutf8.decode('\\xF0\\x90\\x80\\x81');\n// → '\\uD800\\uDC01'\n// → U+10001 LINEAR B SYLLABLE B038 E\n```\n\n### `utf8.version`\n\nA string representing the semantic version number.\n\n## Support\n\nutf8.js has been tested in at least Chrome 27-29, Firefox 3-22, Safari 4-6, Opera 10-12, IE 6-10, Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, and Rhino 1.7RC4.\n\n## Unit tests & code coverage\n\nAfter cloning this repository, run `npm install` to install the dependencies needed for development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`.\n\nOnce that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`.\n\nTo generate [the code coverage report](http://rawgithub.com/mathiasbynens/utf8.js/master/coverage/utf8.js/utf8.js.html), use `grunt cover`.\n\n## FAQ\n\n### Why is the first release named v2.0.0? Haven’t you heard of [semantic versioning](http://semver.org/)?\n\nLong before utf8.js was created, the `utf8` module on npm was registered and used by another (slightly buggy) library. @ryanmcgrath was kind enough to give me access to the `utf8` package on npm when I told him about utf8.js. Since there has already been a v1.0.0 release of the old library, and to avoid breaking backwards compatibility with projects that rely on the `utf8` npm package, I decided the tag the first release of utf8.js as v2.0.0 and take it from there.\n\n## Author\n\n| [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|\n| [Mathias Bynens](http://mathiasbynens.be/) |\n\n## License\n\nutf8.js is dual licensed under the [MIT](http://mths.be/mit) and [GPL](http://mths.be/gpl) licenses.\n",
  "readmeFilename": "README.md",
  "_id": "utf8@2.0.0",
  "dist": {
    "shasum": "79ce59eced874809cab9a71fc7102c7d45d4118d",
    "tarball": "http://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz"
  },
  "_from": "utf8@2.0.0",
  "_npmVersion": "1.2.30",
  "_npmUser": {
    "name": "mathias",
    "email": "mathias@qiwi.be"
  },
  "maintainers": [
    {
      "name": "ryanmcgrath",
      "email": "ryan@venodesigns.net"
    },
    {
      "name": "mathias",
      "email": "mathias@qiwi.be"
    }
  ],
  "_shasum": "79ce59eced874809cab9a71fc7102c7d45d4118d",
  "_resolved": "https://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz"
}
