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

@ -25,6 +25,8 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
| **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise grâce à l'API [exchangeratesapi.io](https://exchangeratesapi.io/). | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' | | **convertCurrency(value, currency, url)** | Convertis une valeur dans une devise dans une autre devise grâce à l'API [exchangeratesapi.io](https://exchangeratesapi.io/). | - value : la valeur à convertir - currency : la devise à avoir après conversion - url : l'url de la requête à l'API en fonction du paramètre dans l'url '?base=' |
| **utf8ToBin(s)** | Texte en Binaire (UTF-8). | - s : la valeur à convertir | | **utf8ToBin(s)** | Texte en Binaire (UTF-8). | - s : la valeur à convertir |
| **binToUtf8(s)** | Binaire (UTF-8) en Texte. | - s : la valeur à convertir | | **binToUtf8(s)** | Binaire (UTF-8) en Texte. | - s : la valeur à convertir |
| **utf8ToHex(s)** | Texte en Hexadécimal (UTF-8). | - s : la valeur à convertir |
| **hexToUtf8(s)** | Hexadécimal (UTF-8) en Texte. | - s : la valeur à convertir |
| **convertDecimalBinaryHexadecimal(value, option)** | Convertis des nombres de différents bases. | - value : la valeur à convertir - option : En quelle base convertir | | **convertDecimalBinaryHexadecimal(value, option)** | Convertis des nombres de différents bases. | - value : la valeur à convertir - option : En quelle base convertir |
| **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir | | **convertArabicToRoman(nombre)** | Convertis un nombre arabe en nombre romain. | - nombre : le nombre à convertir |
| **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir | | **convertRomanToArabic(str)** | Convertis un nombre romain en nombre arabe. | - str : le nombre romain à convertir |

View File

@ -202,16 +202,41 @@ function utf8ToBin(s) {
} }
// Binaire (UTF-8) en Texte // Binaire (UTF-8) en Texte
function binToUtf8(s){ function binToUtf8(s){
try { try {
var i = 0, l = s.length, chr, out = ''; var i = 0, l = s.length, chr, out = '';
for( ; i < l; i += 8){ for( ; i < l; i += 8){
chr = parseInt( s.substr(i, 8 ), 2).toString(16); chr = parseInt( s.substr(i, 8 ), 2).toString(16);
out += '%' + ((chr.length % 2 == 0) ? chr : '0' + chr); out += '%' + ((chr.length % 2 == 0) ? chr : '0' + chr);
} }
return decodeURIComponent(out); return decodeURIComponent(out);
} catch (error) { } catch (error) {
return s; 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 // Convertis des nombres de différents bases
function convertDecimalBinaryHexadecimal(value, option) { function convertDecimalBinaryHexadecimal(value, option) {

View File

@ -201,6 +201,14 @@ $(function () {
$('.results').html(binaryResult); $('.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 { else {
$('.results').html(messageError); $('.results').html(messageError);
} }

View File

@ -25,6 +25,8 @@
<option value="HexadecimalToBinary">Hexadécimal en Binaire</option> <option value="HexadecimalToBinary">Hexadécimal en Binaire</option>
<option value="TextToBinary">Texte en Binaire (UTF-8)</option> <option value="TextToBinary">Texte en Binaire (UTF-8)</option>
<option value="BinaryToText">Binaire (UTF-8) en Texte</option> <option value="BinaryToText">Binaire (UTF-8) en Texte</option>
<option value="TextToHexadecimal">Texte en Hexadécimal (UTF-8)</option>
<option value="HexadecimalToText">Hexadécimal (UTF-8) en Texte</option>
</select> </select>
<div class="form-row text-center"> <div class="form-row text-center">
<div class="col-12"> <div class="col-12">