Files
itooldog/public/static/script/pcjs/unicode.js
T
2023-03-22 11:41:09 +08:00

60 lines
1.8 KiB
JavaScript

function a(pChoice) {
//var inputEle = document.getElementById('content');
var outputEle; //document.getElementById('result');
switch (pChoice) {
case "CONVERT_FMT1":
outputEle = ascii($("#content").val());
break;
case "CONVERT_FMT2":
outputEle = unicode($("#content").val());
break;
case "CONVERT_FMT3":
outputEle = unicode1($("#content").val());
break;
case "RECONVERT":
outputEle = reconvert($("#content").val());
break;
}
hightout(outputEle.toString());
}
function ascii(str) {
var value = '';
for (var i = 0; i < str.length; i++) {
value += '\&#x' + left_zero_4(parseInt(str.charCodeAt(i)).toString(16)) + ';';
}
return value;
}
function unicode(str) {
var value = '';
for (var i = 0; i < str.length; i++) {
value += '\\u' + left_zero_4(parseInt(str.charCodeAt(i)).toString(16));
}
return value;
}
function left_zero_4(str) {
if (str != null && str != '' && str != 'undefined') {
if (str.length == 2) {
return '00' + str;
}
}
return str;
}
function unicode1(str) {
var value = '';
for (var i = 0; i < str.length; i++)
value += '&#' + str.charCodeAt(i) + ';';
return value;
}
function reconvert(str) {
str = str.replace(/(\\u)(\w{1,4})/gi, function ($0) {
return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{1,4})/g, "$2")), 16)));
});
str = str.replace(/(&#x)(\w{1,4});/gi, function ($0) {
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\w{1,4})(%3B)/g, "$2"), 16));
});
str = str.replace(/(&#)(\d{1,6});/gi, function ($0) {
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23)(\d{1,6})(%3B)/g, "$2")));
});
return str;
}