Hexadécimal (UTF-8) en texte et vice-versa

This commit is contained in:
Divlo
2019-10-05 19:05:15 +02:00
parent cabf5239a3
commit f191f94f20
4 changed files with 45 additions and 8 deletions

View File

@ -202,16 +202,41 @@ function utf8ToBin(s) {
}
// Binaire (UTF-8) en Texte
function binToUtf8(s){
try {
var i = 0, l = s.length, chr, out = '';
for( ; i < l; i += 8){
chr = parseInt( s.substr(i, 8 ), 2).toString(16);
out += '%' + ((chr.length % 2 == 0) ? chr : '0' + chr);
try {
var i = 0, l = s.length, chr, out = '';
for( ; i < l; i += 8){
chr = parseInt( s.substr(i, 8 ), 2).toString(16);
out += '%' + ((chr.length % 2 == 0) ? chr : '0' + chr);
}
return decodeURIComponent(out);
} catch (error) {
return s;
}
return decodeURIComponent(out);
} catch (error) {
return s;
}
// Texte en Hexadécimal (UTF-8)
function utf8ToHex (s) {
try {
s = unescape( encodeURIComponent( s ) );
var chr, i = 0, l = s.length, out = '';
for( ; i < l; i++ ){
chr = s.charCodeAt( i ).toString( 16 );
out += ( chr.length % 2 == 0 ) ? chr : '0' + chr;
out += " ";
}
return out;
}
catch (error) {
return s;
}
}
// Hexadécimal (UTF-8) en Texte
function hexToUtf8 (s) {
try {
return decodeURIComponent( s.replace( /../g, '%$&' ) );
}
catch (error) {
return s;
}
}
// Convertis des nombres de différents bases
function convertDecimalBinaryHexadecimal(value, option) {

View File

@ -201,6 +201,14 @@ $(function () {
$('.results').html(binaryResult);
}
else if (option === 'TextToHexadecimal') {
let result = utf8ToHex(value);
$('.results').html(result.toUpperCase());
}
else if (option === 'HexadecimalToText') {
let result = hexToUtf8(value.replace(/\s/g,''));
$('.results').html(result);
}
else {
$('.results').html(messageError);
}