New function : convertBinaryText
This commit is contained in:
parent
a422b9fa67
commit
22c1524dcf
@ -22,7 +22,10 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
||||
| **convertDistance (firstValue, unitFirstValue, unitFinalValue)** | Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre. | - firstValue : Le nombre que vous voulez convertir - unitFirstValue : l'unité du nombre que vous voulez convertir - unitFinalValue : l'unité de votre nombre après la conversion |
|
||||
| **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 |
|
||||
| **convertCurrency(urlFixerIO, currency, euroValue)** | Convertis des euros (€) dans une autre devise. | - urlFixerIO : l'url de l'API pour les taux de change - currency : la devise à avoir après conversion - euroValue : le nombre d'euros (€) à convertir |
|
||||
| **convertCurrency(currency, euroValue)** | Convertis des euros (€) dans une autre devise. | - urlFixerIO : l'url de l'API pour les taux de change - currency : la devise à avoir après conversion - euroValue : le nombre d'euros (€) à convertir |
|
||||
| **utf8ToBin(s)** | UTF-8 vers Binaire | - s : la valeur à convertir |
|
||||
| **binToUtf8(s)** | Binaire vers UTF-8 | - s : la valeur à convertir |
|
||||
|
||||
|
||||
## La liste des Fonctions Annexes :
|
||||
| Nom | Description | Paramètre(s) |
|
||||
@ -34,4 +37,5 @@ Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/).
|
||||
| **dateTimeUTC(utc)** | Donne la date et l'heure selon l'UTC (Universal Time Coordinated). | - utc : heure de décalage avec l'utc |
|
||||
| **showDateTime(enteredOffset)** | Affiche la date et l'heure (format : dd/mm/yyyy - 00:00:00). | - enteredOffset : date à formaté |
|
||||
| **realDateTime(id)** | Affiche l'heure en temps réel. | - id : l'id de votre span/div où vous voulez afficher l'heure en temps réel |
|
||||
| **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API |
|
||||
| **timeZone(json)** | Récupére le décalage en secondes à partir de l'heure UTC grâce à l'API openweathermap.org. | - json : le json de l'API |
|
||||
| **isStringBin(s)** | Verifie si une chaîne de caractère c'est du binaire ou non | - s : valeur à testé |
|
BIN
img/function-image/convertBinaryText.png
Normal file
BIN
img/function-image/convertBinaryText.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 222 KiB |
@ -63,6 +63,11 @@ switch ($currentpage) {
|
||||
$description = "Convertis des euros (€) dans une autre devise.";
|
||||
$image = 'https://function.divlo.fr/img/function-image/convertCurrency.png';
|
||||
break;
|
||||
case '/views/function-views/convertBinaryText.php':
|
||||
$title = "Conversion d'un texte en binaire et vice-versa";
|
||||
$description = "Convertis du texte (encodé en UTF-8) en binaire et l'inverse aussi.";
|
||||
$image = 'https://function.divlo.fr/img/function-image/convertBinaryText.png';
|
||||
break;
|
||||
default:
|
||||
$title = 'Erreur 404';
|
||||
$description = "Cette page n'existe pas!";
|
||||
|
@ -100,7 +100,7 @@ function calculateAge(birthDateEntered) {
|
||||
}
|
||||
}
|
||||
|
||||
// Convertit des °C en °F et l'inverse aussi
|
||||
// Convertis des °C en °F et l'inverse aussi
|
||||
function convertTemperature(degree, unit) {
|
||||
if (!isNaN(degree) && unit === "°C")
|
||||
{
|
||||
@ -118,7 +118,7 @@ function convertTemperature(degree, unit) {
|
||||
}
|
||||
}
|
||||
|
||||
// Convertit la longueur (distance) avec les unités allant de picomètre au Téramètre
|
||||
// Convertis la longueur (distance) avec les unités allant de picomètre au Téramètre
|
||||
function convertDistance (firstValue, unitFirstValue, unitFinalValue) {
|
||||
|
||||
let reference = ["pm",null,null,"nm",null,null,"µm",null,null,"mm","cm","dm","m","dam","hm","km",null,null,"Mm",null,null,"Gm",null,null,"Tm"];
|
||||
@ -224,6 +224,27 @@ function convertCurrency(currency, euroValue) {
|
||||
});
|
||||
}
|
||||
|
||||
// Convertis du texte (encodé en UTF-8) en binaire et l'inverse aussi (source : http://jsfiddle.net/47zwb41o)
|
||||
// UTF-8 vers Binaire
|
||||
function utf8ToBin(s) {
|
||||
s = unescape( encodeURIComponent(s));
|
||||
var chr, i = 0, l = s.length, out = '';
|
||||
for( ; i < l; i ++ ){
|
||||
chr = s.charCodeAt( i ).toString(2);
|
||||
while(chr.length % 8 != 0 ){ chr = '0' + chr; }
|
||||
out += chr;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
// Binaire vers UTF-8
|
||||
function binToUtf8(s){
|
||||
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);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////
|
||||
/* Fonctions Annexes */
|
||||
@ -407,4 +428,9 @@ function timeZone(json) {
|
||||
}
|
||||
let timeZoneStr = timeZoneValue.toString();
|
||||
return dateTimeUTC(timeZoneStr);
|
||||
}
|
||||
|
||||
// Verifie si une chaîne de caractère c'est du binaire ou non
|
||||
function isStringBin(s) {
|
||||
return s.match(/^[+\-0-1(). ]+$/g) !== null ? true : false;
|
||||
}
|
@ -179,6 +179,32 @@ $(function () {
|
||||
}
|
||||
});
|
||||
|
||||
$("#submitConvertBinaryText").click(function()
|
||||
{
|
||||
let binaryTextValue = $('#binaryTextValue').val();
|
||||
let isBinaryValue = isStringBin(binaryTextValue);
|
||||
|
||||
if(isEmptyValue(binaryTextValue)) {
|
||||
$('.results').html(emptyMessageError);
|
||||
}
|
||||
else if (isBinaryValue === true) {
|
||||
// Le replace enlève les espaces
|
||||
let textResult = binToUtf8(binaryTextValue.replace(/\s/g,''));
|
||||
|
||||
$('.results').html(textResult);
|
||||
}
|
||||
else if (isBinaryValue === false) {
|
||||
// Les 2 replace permettent de rajouter un espace tout les 8 bits
|
||||
let binaryResult = utf8ToBin(binaryTextValue);
|
||||
binaryResult = binaryResult.replace(/(\d{8})/g, '$1 ').replace(/(^\s+|\s+$)/,'');
|
||||
|
||||
$('.results').html(binaryResult);
|
||||
}
|
||||
else {
|
||||
$('.results').html(messageError);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* Permet d'afficher l'heure en temps réel sur le footer */
|
||||
window.onload = realDateTime('realDateTime');
|
||||
|
@ -48,6 +48,10 @@
|
||||
<td><a href="./function-views/convertCurrency.php">Conversion de devise</a></td>
|
||||
<td>Convertis des euros (€) dans une autre devise.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="./function-views/convertBinaryText.php">Conversion d'un texte en binaire et vice-versa</a></td>
|
||||
<td>Convertis du texte (encodé en UTF-8) en binaire et l'inverse aussi.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
26
views/function-views/convertBinaryText.php
Normal file
26
views/function-views/convertBinaryText.php
Normal file
@ -0,0 +1,26 @@
|
||||
<!-- Config -->
|
||||
<?php include("../../php/config.php");?>
|
||||
|
||||
<!-- Header -->
|
||||
<?php include("../../incl/header.php");?>
|
||||
|
||||
<!-- Page Content -->
|
||||
<div class="container">
|
||||
<h1><span class="important"><?php echo $title?></span> :</h1>
|
||||
<p class="pt-3 text-center"><?php echo $description?></p>
|
||||
<div class="form-group">
|
||||
<label for="binaryTextValue">Entrez votre chaîne de caractères ou du binaire :</label>
|
||||
<textarea name="binaryTextValue" type="text" id="binaryTextValue" placeholder="(e.g : 'Salut' ou '01010011 01100001')" class="form-control"></textarea>
|
||||
<br>
|
||||
<div class="form-row text-center">
|
||||
<div class="col-12">
|
||||
<button type="submit" id="submitConvertBinaryText" class="btn btn-dark text-center">Envoyer</button>
|
||||
</div>
|
||||
</div>
|
||||
<br> <br>
|
||||
<p class="results text-center"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<?php include("../../incl/footer.php");?>
|
Reference in New Issue
Block a user