Sindbad~EG File Manager
"use strict";
/* eslint-disable no-bitwise */
// http://kevin.vanzonneveld.net
// + original by: Webtoolkit.info (http://www.webtoolkit.info/)
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: sowberry
// + tweaked by: Jack
// + bugfixed by: Onno Marsman
// + improved by: Yves Sucaet
// + bugfixed by: Onno Marsman
// + bugfixed by: Ulrich
// + bugfixed by: Rafal Kukawski
// + improved by: kirilloid
// * example 1: utf8_encode('Kevin van Zonneveld')
// * returns 1: 'Kevin van Zonneveld'
/**
* Encode the given string
* @private
* @param {string} argString the string to encode
* @return {string}
*/
module.exports = function utf8_encode(argString) {
var c1 = void 0,
enc = void 0,
n = void 0;
if (argString == null) {
return "";
}
var string = argString + "";
var utftext = "";
var start = 0;
var end = 0;
var stringl = string.length;
n = 0;
while (n < stringl) {
c1 = string.charCodeAt(n);
enc = null;
if (c1 < 128) {
end++;
} else if (c1 > 127 && c1 < 2048) {
enc = String.fromCharCode(c1 >> 6 | 192, c1 & 63 | 128);
} else {
enc = String.fromCharCode(c1 >> 12 | 224, c1 >> 6 & 63 | 128, c1 & 63 | 128);
}
if (enc !== null) {
if (end > start) {
utftext += string.slice(start, end);
}
utftext += enc;
start = n + 1;
end = start;
}
n++;
}
if (end > start) {
utftext += string.slice(start, stringl);
}
return utftext;
};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists