convertEncoding Update
This commit is contained in:
parent
b5f4cfc900
commit
c4a76a398f
@ -23,11 +23,6 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
|||||||
| **filterStudents(filteredLetter, students)** | Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée. | - filteredLetter : la lettre à filtré - students : la liste des prénoms |
|
| **filterStudents(filteredLetter, students)** | Affiche uniquement les prénoms (qui sont dans la liste) qui commence par la lettre souhaitée. | - filteredLetter : la lettre à filtré - students : la liste des prénoms |
|
||||||
| **randomQuote()** | Génère aléatoirement une citation ou un proverbe. | Aucun paramètre |
|
| **randomQuote()** | Génère aléatoirement une citation ou un proverbe. | Aucun paramètre |
|
||||||
| **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 |
|
|
||||||
| **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 |
|
|
||||||
| **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 |
|
||||||
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong. | - nombre : le nombre à tester |
|
| **armstrongNumber(nombre)** | Vérifie si un nombre fait partie des nombres d'Armstrong. | - nombre : le nombre à tester |
|
||||||
|
@ -84,7 +84,7 @@ header {
|
|||||||
width: 270px !important;
|
width: 270px !important;
|
||||||
}
|
}
|
||||||
#option {
|
#option {
|
||||||
width: 315px !important;
|
width: 380px !important;
|
||||||
}
|
}
|
||||||
#convertIn {
|
#convertIn {
|
||||||
width: 6.7em;
|
width: 6.7em;
|
||||||
|
@ -172,8 +172,94 @@ function convertCurrency(value, currency, url) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Convertis des nombres de différentes bases et convertis en UTF-8. (source : http://jsfiddle.net/47zwb41o)
|
// Convertis des nombres de différentes bases et convertis en UTF-8. (source : http://jsfiddle.net/47zwb41o)
|
||||||
|
// DecimalToBinary
|
||||||
|
function decimalToBinary(value) {
|
||||||
|
value = value.replace(" ", "");
|
||||||
|
value = Number(value);
|
||||||
|
if (isNaN(value)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return value.toString(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// BinaryToDecimal
|
||||||
|
function binaryToDecimal(value) {
|
||||||
|
value = Number(value);
|
||||||
|
const result = formatNumberResult(parseInt(value, 2));
|
||||||
|
if (isNaN(result)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// DecimalToHexadecimal
|
||||||
|
function decimalToHexadecimal(value) {
|
||||||
|
value = value.replace(" ", "");
|
||||||
|
value = Number(value);
|
||||||
|
if (isNaN(value)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return value.toString(16).toUpperCase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// HexadecimalToDecimal
|
||||||
|
function hexadecimalToDecimal(value) {
|
||||||
|
const result = formatNumberResult(parseInt(value, 16));
|
||||||
|
if (isNaN(result)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// BinaryToHexadecimal
|
||||||
|
function binaryToHexadecimal(value) {
|
||||||
|
value = Number(value);
|
||||||
|
value = parseInt(value, 2);
|
||||||
|
if (isNaN(value)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return parseInt(value).toString(16).toUpperCase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// HexadecimalToBinary
|
||||||
|
function hexadecimalToBinary(value) {
|
||||||
|
value = Number(value);
|
||||||
|
value = parseInt(value, 16);
|
||||||
|
if (isNaN(value)) {
|
||||||
|
return messageError;
|
||||||
|
} else {
|
||||||
|
return parseInt(value).toString(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Each letters has its own codePoint (Unicode Code)
|
||||||
|
function textToNumberUnicode(string) {
|
||||||
|
try {
|
||||||
|
let resultat = "";
|
||||||
|
for (let index in string) {
|
||||||
|
resultat = resultat + string.codePointAt(index) + " ";
|
||||||
|
}
|
||||||
|
return resultat;
|
||||||
|
}
|
||||||
|
catch(error) {
|
||||||
|
return messageError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Each codePoint has its own letter
|
||||||
|
function numberUnicodeToText(string) {
|
||||||
|
try {
|
||||||
|
const array = string.split(" ");
|
||||||
|
let resultat = "";
|
||||||
|
for (let index in array) {
|
||||||
|
resultat = resultat + String.fromCodePoint(parseInt(array[index]).toString());
|
||||||
|
}
|
||||||
|
return resultat;
|
||||||
|
}
|
||||||
|
catch(error) {
|
||||||
|
return messageError;
|
||||||
|
}
|
||||||
|
}
|
||||||
// Texte en Binaire (UTF-8)
|
// Texte en Binaire (UTF-8)
|
||||||
function utf8ToBin(s) {
|
function textToBinary(s) {
|
||||||
try {
|
try {
|
||||||
s = unescape( encodeURIComponent(s));
|
s = unescape( encodeURIComponent(s));
|
||||||
var chr, i = 0, l = s.length, out = '';
|
var chr, i = 0, l = s.length, out = '';
|
||||||
@ -188,7 +274,7 @@ function utf8ToBin(s) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Binaire (UTF-8) en Texte
|
// Binaire (UTF-8) en Texte
|
||||||
function binToUtf8(s){
|
function binaryToText(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){
|
||||||
@ -201,7 +287,7 @@ function binToUtf8(s){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Texte en Hexadécimal (UTF-8)
|
// Texte en Hexadécimal (UTF-8)
|
||||||
function utf8ToHex (s) {
|
function textToHexadecimal (s) {
|
||||||
try {
|
try {
|
||||||
s = unescape( encodeURIComponent( s ) );
|
s = unescape( encodeURIComponent( s ) );
|
||||||
var chr, i = 0, l = s.length, out = '';
|
var chr, i = 0, l = s.length, out = '';
|
||||||
@ -217,7 +303,7 @@ function utf8ToHex (s) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Hexadécimal (UTF-8) en Texte
|
// Hexadécimal (UTF-8) en Texte
|
||||||
function hexToUtf8 (s) {
|
function hexadecimalToText (s) {
|
||||||
try {
|
try {
|
||||||
return decodeURIComponent( s.replace( /../g, '%$&' ) );
|
return decodeURIComponent( s.replace( /../g, '%$&' ) );
|
||||||
}
|
}
|
||||||
@ -225,52 +311,6 @@ function hexToUtf8 (s) {
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Convertis des nombres de différents bases
|
|
||||||
function convertDecimalBinaryHexadecimal(value, option) {
|
|
||||||
try {
|
|
||||||
switch (option) {
|
|
||||||
case 'DecimalToBinary':
|
|
||||||
value = value.replace(" ", "");
|
|
||||||
value = parseInt(value);
|
|
||||||
if (isNaN(value)) {
|
|
||||||
return messageError;
|
|
||||||
} else {
|
|
||||||
return value.toString(2);
|
|
||||||
}
|
|
||||||
case 'BinaryToDecimal':
|
|
||||||
return formatNumberResult(parseInt(value, 2));
|
|
||||||
case 'DecimalToHexadecimal':
|
|
||||||
value = value.replace(" ", "");
|
|
||||||
value = parseInt(value);
|
|
||||||
if (isNaN(value)) {
|
|
||||||
return messageError;
|
|
||||||
} else {
|
|
||||||
return value.toString(16).toUpperCase();
|
|
||||||
}
|
|
||||||
case 'HexadecimalToDecimal':
|
|
||||||
return formatNumberResult(parseInt(value, 16));
|
|
||||||
case 'BinaryToHexadecimal':
|
|
||||||
value = parseInt(value, 2);
|
|
||||||
if (isNaN(value)) {
|
|
||||||
return messageError;
|
|
||||||
} else {
|
|
||||||
return parseInt(value).toString(16).toUpperCase();
|
|
||||||
}
|
|
||||||
case 'HexadecimalToBinary':
|
|
||||||
value = parseInt(value, 16);
|
|
||||||
if (isNaN(value)) {
|
|
||||||
return messageError;
|
|
||||||
} else {
|
|
||||||
return parseInt(value).toString(2);
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return messageError;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
return messageError;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Convertis un nombre arabe en nombre romain
|
// Convertis un nombre arabe en nombre romain
|
||||||
function convertArabicToRoman(nombre) {
|
function convertArabicToRoman(nombre) {
|
||||||
|
@ -2,7 +2,7 @@ $(function () {
|
|||||||
|
|
||||||
/* ÉXECUTION DES FONCTONS */
|
/* ÉXECUTION DES FONCTONS */
|
||||||
|
|
||||||
// Touche entrer génère un clique
|
// Touche entrer génère un clique sur les classes .btn
|
||||||
$("body").keydown(function(e){
|
$("body").keydown(function(e){
|
||||||
if(e.which === 13){
|
if(e.which === 13){
|
||||||
$(".btn").click();
|
$(".btn").click();
|
||||||
@ -39,8 +39,7 @@ $(function () {
|
|||||||
|
|
||||||
$("#birthDateValue").bind("keyup change", () =>
|
$("#birthDateValue").bind("keyup change", () =>
|
||||||
{
|
{
|
||||||
const birthDateEntered = $('#birthDateValue').val();
|
$('.results').html(calculateAge($('#birthDateValue').val()));
|
||||||
$('.results').html(calculateAge(birthDateEntered));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#submitConvertTemperature").click(() =>
|
$("#submitConvertTemperature").click(() =>
|
||||||
@ -104,7 +103,7 @@ $(function () {
|
|||||||
for (index in quotes) {
|
for (index in quotes) {
|
||||||
resultat = resultat + `<tr> <td class="quote-element-list important">${quotes[index]["source"]}</td> <td class="quote-element-list">${quotes[index]["quote"]}</td> </tr>`;
|
resultat = resultat + `<tr> <td class="quote-element-list important">${quotes[index]["source"]}</td> <td class="quote-element-list">${quotes[index]["quote"]}</td> </tr>`;
|
||||||
}
|
}
|
||||||
$( ".quote-list" ).append(resultat);
|
$(".quote-list").append(resultat);
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#submitConvertCurrency").click(() => {
|
$("#submitConvertCurrency").click(() => {
|
||||||
@ -128,32 +127,22 @@ $(function () {
|
|||||||
$('.results').html(messageError);
|
$('.results').html(messageError);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (option === 'DecimalToBinary' || option === 'BinaryToDecimal' || option === 'DecimalToHexadecimal' || option === 'HexadecimalToDecimal' || option === 'BinaryToHexadecimal' || option === 'HexadecimalToBinary') {
|
// Objet qui recense toutes les fonctions de convertEncoding
|
||||||
const result = convertDecimalBinaryHexadecimal(value, option);
|
const convertEncoding = { decimalToBinary, binaryToDecimal, decimalToHexadecimal, hexadecimalToDecimal, binaryToHexadecimal, hexadecimalToBinary, textToNumberUnicode, numberUnicodeToText, textToBinary, binaryToText, textToHexadecimal, hexadecimalToText };
|
||||||
$('.results').html(result);
|
try {
|
||||||
}
|
function executionFunction(option, value) {
|
||||||
else if (option === 'BinaryToText') {
|
if (convertEncoding[option]) {
|
||||||
// Le replace enlève les espaces
|
return convertEncoding[option](value)
|
||||||
const textResult = binToUtf8(value.replace(/\s/g,''));
|
} else {
|
||||||
$('.results').html(textResult);
|
console.log(convertEncoding[option]);
|
||||||
}
|
return messageError;
|
||||||
else if (option === 'TextToBinary') {
|
}
|
||||||
// Les 2 replace permettent de rajouter un espace tout les 8 bits
|
}
|
||||||
let binaryResult = utf8ToBin(value);
|
$('.results').html(executionFunction(option, value));
|
||||||
binaryResult = binaryResult.replace(/(\d{8})/g, '$1 ').replace(/(^\s+|\s+$)/,'');
|
} catch (error) {
|
||||||
$('.results').html(binaryResult);
|
$('.results').html(messageError);
|
||||||
}
|
console.log(error);
|
||||||
else if (option === 'TextToHexadecimal') {
|
}
|
||||||
const result = utf8ToHex(value);
|
|
||||||
$('.results').html(result.toUpperCase());
|
|
||||||
}
|
|
||||||
else if (option === 'HexadecimalToText') {
|
|
||||||
const result = hexToUtf8(value.replace(/\s/g,''));
|
|
||||||
$('.results').html(result);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$('.results').html(messageError);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -216,6 +205,21 @@ $(function () {
|
|||||||
$('.results').html(`Il y a ${formatNumberResult(stringPermutationsResult.length)} possibilités d'anagramme pour le mot "${value}" qui contient ${value.length} caractères, la liste : <br><br> ${result}`);
|
$('.results').html(`Il y a ${formatNumberResult(stringPermutationsResult.length)} possibilités d'anagramme pour le mot "${value}" qui contient ${value.length} caractères, la liste : <br><br> ${result}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* Changement du texte accueil (exemples de fonction) */
|
||||||
|
if(chemin === "/" || chemin === '/index.php') {
|
||||||
|
let index=-1;
|
||||||
|
function change() {
|
||||||
|
if(index === texteFonctionChange.length-1) {
|
||||||
|
index = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
document.getElementById("change").innerHTML = texteFonctionChange[index];
|
||||||
|
}
|
||||||
|
setInterval(change,10000);
|
||||||
|
}
|
||||||
|
|
||||||
/* Permet d'afficher l'heure en temps réel sur le footer */
|
/* Permet d'afficher l'heure en temps réel sur le footer */
|
||||||
window.onload = realDateTime('realDateTime');
|
window.onload = realDateTime('realDateTime');
|
||||||
@ -244,21 +248,6 @@ $(function () {
|
|||||||
language: 'fr',
|
language: 'fr',
|
||||||
autoclose: false,
|
autoclose: false,
|
||||||
todayHighlight: true
|
todayHighlight: true
|
||||||
})
|
});
|
||||||
|
|
||||||
})
|
});
|
||||||
|
|
||||||
/* Changement du texte accueil (exemples de fonction) */
|
|
||||||
if(chemin === "/" || chemin === '/index.php') {
|
|
||||||
let index=-1;
|
|
||||||
function change() {
|
|
||||||
if(index === texteFonctionChange.length-1) {
|
|
||||||
index = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
document.getElementById("change").innerHTML = texteFonctionChange[index];
|
|
||||||
}
|
|
||||||
setInterval("change()",10000);
|
|
||||||
}
|
|
@ -17,16 +17,18 @@
|
|||||||
<br>
|
<br>
|
||||||
<label for="option">Choisissez une option : </label> <br>
|
<label for="option">Choisissez une option : </label> <br>
|
||||||
<select class="form-control selectInline" id="option">
|
<select class="form-control selectInline" id="option">
|
||||||
<option value="DecimalToBinary">Décimal en Binaire</option>
|
<option value="decimalToBinary">Décimal en Binaire</option>
|
||||||
<option value="BinaryToDecimal">Binaire en Décimal</option>
|
<option value="binaryToDecimal">Binaire en Décimal</option>
|
||||||
<option value="DecimalToHexadecimal">Décimal en Hexadecimal</option>
|
<option value="decimalToHexadecimal">Décimal en Hexadecimal</option>
|
||||||
<option value="HexadecimalToDecimal">Hexadecimal en Décimal</option>
|
<option value="hexadecimalToDecimal">Hexadecimal en Décimal</option>
|
||||||
<option value="BinaryToHexadecimal">Binaire en Hexadécimal</option>
|
<option value="binaryToHexadecimal">Binaire en Hexadécimal</option>
|
||||||
<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="textToNumberUnicode">Chaque caractère a un nombre Unicode</option>
|
||||||
<option value="BinaryToText">Binaire (UTF-8) en Texte</option>
|
<option value="numberUnicodeToText">Chaque nombre Unicode a un caractère</option>
|
||||||
<option value="TextToHexadecimal">Texte en Hexadécimal (UTF-8)</option>
|
<option value="textToBinary">Texte en Binaire (UTF-8)</option>
|
||||||
<option value="HexadecimalToText">Hexadécimal (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">
|
||||||
|
Reference in New Issue
Block a user