ExternalInterface workaround
Because Flash cannot correctly convert JS objects to Flash objects and vice versa.
by James Greene
JavaScript
function charToZcHex(inputChar) {
function pad_four(input) {
var l = input.length;
if (l == 0) return '0000';
if (l == 1) return '000' + input;
if (l == 2) return '00' + input;
if (l == 3) return '0' + input;
return input;
}
return "__ZC_HEX_" + pad_four(inputChar.charCodeAt(0).toString(16)) + "__";
}
function zcHexToChar(zcHex) {
if (/^__ZC_HEX_[0-F]{4}__$/.test(zcHex)) {
var hex = zcHex.slice(9, 13);
return String.fromCharCode(parseInt(hex, 16));
}
return zcHex;
}
var hexSlash = charToZcHex("/").toUpperCase();
var dehexedSlash = zcHexToChar(hexSlash);
$("body").append($("<div/>").text("/ => " + hexSlash));
$("body").append($("<div/>").text(hexSlash + " => " + dehexedSlash));