Server IP : 66.29.132.122 / Your IP : 13.59.20.51 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/opt/alt/alt-nodejs8/root/lib/node_modules/npm/node_modules.bundled/encoding/lib/ |
Upload File : |
'use strict'; var iconvLite = require('iconv-lite'); // Load Iconv from an external file to be able to disable Iconv for webpack // Add /\/iconv-loader$/ to webpack.IgnorePlugin to ignore it var Iconv = require('./iconv-loader'); // Expose to the world module.exports.convert = convert; /** * Convert encoding of an UTF-8 string or a buffer * * @param {String|Buffer} str String to be converted * @param {String} to Encoding to be converted to * @param {String} [from='UTF-8'] Encoding to be converted from * @param {Boolean} useLite If set to ture, force to use iconvLite * @return {Buffer} Encoded string */ function convert(str, to, from, useLite) { from = checkEncoding(from || 'UTF-8'); to = checkEncoding(to || 'UTF-8'); str = str || ''; var result; if (from !== 'UTF-8' && typeof str === 'string') { str = new Buffer(str, 'binary'); } if (from === to) { if (typeof str === 'string') { result = new Buffer(str); } else { result = str; } } else if (Iconv && !useLite) { try { result = convertIconv(str, to, from); } catch (E) { console.error(E); try { result = convertIconvLite(str, to, from); } catch (E) { console.error(E); result = str; } } } else { try { result = convertIconvLite(str, to, from); } catch (E) { console.error(E); result = str; } } if (typeof result === 'string') { result = new Buffer(result, 'utf-8'); } return result; } /** * Convert encoding of a string with node-iconv (if available) * * @param {String|Buffer} str String to be converted * @param {String} to Encoding to be converted to * @param {String} [from='UTF-8'] Encoding to be converted from * @return {Buffer} Encoded string */ function convertIconv(str, to, from) { var response, iconv; iconv = new Iconv(from, to + '//TRANSLIT//IGNORE'); response = iconv.convert(str); return response.slice(0, response.length); } /** * Convert encoding of astring with iconv-lite * * @param {String|Buffer} str String to be converted * @param {String} to Encoding to be converted to * @param {String} [from='UTF-8'] Encoding to be converted from * @return {Buffer} Encoded string */ function convertIconvLite(str, to, from) { if (to === 'UTF-8') { return iconvLite.decode(str, from); } else if (from === 'UTF-8') { return iconvLite.encode(str, to); } else { return iconvLite.encode(iconvLite.decode(str, from), to); } } /** * Converts charset name if needed * * @param {String} name Character set * @return {String} Character set name */ function checkEncoding(name) { return (name || '').toString().trim(). replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1'). replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1'). replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1'). replace(/^ks_c_5601\-1987$/i, 'CP949'). replace(/^us[\-_]?ascii$/i, 'ASCII'). toUpperCase(); }