{"ast":null,"code":"var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function (str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n    // Convert a byte array to a string\n    bytesToString: function (bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function (str) {\n      for (var bytes = [], i = 0; i < str.length; i++) bytes.push(str.charCodeAt(i) & 0xFF);\n\n      return bytes;\n    },\n    // Convert a byte array to a string\n    bytesToString: function (bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++) str.push(String.fromCharCode(bytes[i]));\n\n      return str.join('');\n    }\n  }\n};\nmodule.exports = charenc;","map":null,"metadata":{},"sourceType":"script"}