diff options
Diffstat (limited to 'utils/lib/utf8.js')
-rwxr-xr-x | utils/lib/utf8.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/utils/lib/utf8.js b/utils/lib/utf8.js deleted file mode 100755 index e1c742d..0000000 --- a/utils/lib/utf8.js +++ /dev/null @@ -1,64 +0,0 @@ - -var binary = require('./binary'); - -/*** encode - converts a Unicode character string into a UTF-8 - character stream. -*/ -exports.encode = function (string) { - string = string.replace(/\r\n/g,"\n"); - var utftext = []; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext.push(c); - } - else if((c > 127) && (c < 2048)) { - utftext.push((c >> 6) | 192); - utftext.push((c & 63) | 128); - } - else { - utftext.push((c >> 12) | 224); - utftext.push(((c >> 6) & 63) | 128); - utftext.push((c & 63) | 128); - } - - } - - return binary.ByteString(utftext); -}; - -/*** decode - Converts a UTF-8 character string into a - Unicode character string. -*/ -exports.decode = function (utftext) { - var string = ""; - var i = 0; - var c = c1 = c2 = 0; - - while (i < utftext.length) { - - c = utftext.charCodeAt(i); - - if (c < 128) { - string += String.fromCharCode(c); - i++; - } else if ((c > 191) && (c < 224)) { - c2 = utftext.charCodeAt(i+1); - string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); - i += 2; - } else { - c2 = utftext.charCodeAt(i+1); - c3 = utftext.charCodeAt(i+2); - string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); - i += 3; - } - } - - return string; -}; - |