Decode string that contains hexadecimal characters
Decodes a string of hexadecimal character codes into characters.
by rsm23
JavaScript
var string = 'Zo=E9 d\'Annecy (Andr=E9 1)'
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2) str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
function cleanString(string) {
var localstring = string;
var hextable = ['=00',
'=01',
'=02',
'=03',
'=04',
'=05',
'=06',
'=07',
'=08',
'=09',
'=0A',
'=0B',
'=0C',
'=0D',
'=0E',
'=0F',
'=10',
'=11',
'=12',
'=13',
'=14',
'=15',
'=16',
'=17',
'=18',
'=19',
'=1A',
'=1B',
'=1C',
'=1D',
'=1E',
'=1F',
'=20',
'=21',
'=22',
'=23',
'=24',
'=25',
'=26',
'=27',
'=28',
'=29',
'=2A',
'=2B',
'=2C',
'=2D',
'=2E',
'=2F',
'=30',
'=39',
'=3A',
'=3B',
'=3C',
'=3D',
'=3E',
'=3F',
'=40',
'=41',
'=5A',
'=5B',
'=5C',
'=5D',
'=5E',
'=5F',
'=60',
'=61',
'=7A',
'=7B',
'=7C',
'=7D',
'=7E',
'=7F',
'=80',
'=81',
'=82',
'=83',
'=84',
'=85',
'=86',
'=87',
'=88',
'=89',
'=8A',
'=8B',
'=8C',
'=8D',
'=8E',
'=8F',
'=90',
'=91',
'=92',
'=93',
'=94',
'=95',
'=96',
'=97',
'=98',
'=99',
'=9A',
'=9B',
'=9C',
'=9D',
'=9E',
'=9F',
'=A0',
'=A1',
'=A2',
'=A3',
'=A4',
'=A5',
'=A6',
'=A7',
'=A8',
'=A9',
'=AA',
'=AB',
'=AC',
'=AD',
'=AE',
'=AF',
'=B0',
'=B1',
'=B2',
'=B3',
'=B4',
'=B5',
'=B6',
'=B7',
'=B8',
'=B9',
'=BA',
'=BB',
'=BC',
'=BD',
'=BE',
'=BF',
'=C0',
'=C1',
'=C2',
'=C3',
'=C4',
'=C5',
'=C6',
'=C7',
'=C8',
'=C9',
'=CA',
'=CB',
'=CC',
'=CD',
'=CE',
'=CF',
'=D0',
'=D1',
'=D2',
'=D3',
'=D4',
'=D5',
'=D6',
'=D7',
'=D8',
'=D9',
'=DA',
'=DB',
'=DC',
'=DD',
'=DE',
'=DF',
'=E0',
'=E1',
'=E2',
'=E3',
'=E4',
'=E5',
'=E6',
'=E7',
'=E8',
'=E9',
'=EA',
'=EB',
'=EC',
'=ED',
'=EE',
'=EF',
'=F0',
'=F1',
'=F2',
'=F3',
'=F4',
'=F5',
'=F6',
'=F7',
'=F8',
'=F9',
'=FA',
'=FB',
'=FC',
'=FD',
'=FE',
'=FF'
]
for(var i = 0; i < hextable.length; i++) {
if (string.indexOf(hextable[i]) > -1) {
var regex = new RegExp(hextable[i],"g");
localstring = localstring.replace(regex, hex2a(hextable[i].substring(1)))
}
}
return localstring
}
alert(cleanString(string));