node-jose
Version:
A JavaScript implementation of the JSON Object Signing and Encryption (JOSE) for current web browsers and node.js-based servers
28 lines (23 loc) • 669 B
JavaScript
/*!
* util/utf8.js - Implementation of UTF-8 Encoder/Decoder
*
* Copyright (c) 2015 Cisco Systems, Inc. See LICENSE file.
*/
;
var utf8 = exports;
utf8.encode = function(input) {
var output = encodeURIComponent(input || "");
output = output.replace(/%([0-9a-fA-F]{2})/g, function(m, code) {
code = parseInt(code, 16);
return String.fromCharCode(code);
});
return output;
};
utf8.decode = function(input) {
var output = (input || "").replace(/[\u0080-\u00ff]/g, function(m) {
var code = (0x100 | m.charCodeAt(0)).toString(16).substring(1);
return "%" + code;
});
output = decodeURIComponent(output);
return output;
};