Conversion Ansi.
Résolu/Fermé
Kenny19
Messages postés
5
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
15 décembre 2013
-
31 mai 2013 à 13:05
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 31 mai 2013 à 19:29
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 31 mai 2013 à 19:29
A voir également:
- Conversion Ansi.
- Conversion monnaie - Télécharger - Banque & Budget
- Conversion majuscule minuscule - Guide
- Echelle 1/200 conversion ✓ - Forum Graphisme
- Conversion qwerty azerty - Guide
- Tableau conversion minutes en centièmes excel - Forum Excel
1 réponse
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
Modifié par KX le 31/05/2013 à 18:58
Modifié par KX le 31/05/2013 à 18:58
Si tu veux lire ton fichier texte (ce qui n'a pas énormément d'intérêt si c'est crypté) il va falloir utiliser des caractères lisibles. Or l'ANSI comporte un certain nombre de caractères non affichables ou qui changent d'un système d'exploitation à l'autre (par exemple les accents)
Ce qu'il faudrait faire c'est utiliser uniquement des caractères communs à (presque) tous les encodages, c'est à dire les chiffres et les lettres sans accent (minuscule et/ou majuscule)
Après, ça dépend comment tu fais ton "cryptage", mais en général on est amené à faire des calculs sur des valeurs entières très grandes et donc passer par la classe BigInteger. Celle-ci dispose notamment de méthodes qui permettent d'écrire un entier en base "quelconque", au maximum en base 36 (10 chiffres et 26 lettres minuscules), ce qui permet de résoudre le problème facilement.
Ce qu'il faudrait faire c'est utiliser uniquement des caractères communs à (presque) tous les encodages, c'est à dire les chiffres et les lettres sans accent (minuscule et/ou majuscule)
Après, ça dépend comment tu fais ton "cryptage", mais en général on est amené à faire des calculs sur des valeurs entières très grandes et donc passer par la classe BigInteger. Celle-ci dispose notamment de méthodes qui permettent d'écrire un entier en base "quelconque", au maximum en base 36 (10 chiffres et 26 lettres minuscules), ce qui permet de résoudre le problème facilement.
BigInteger n = BigInteger.valueOf(1234567890); System.out.println(n); String s = n.toString(36); System.out.println(s); // kf12oi BigInteger m = new BigInteger(s,36); System.out.println(m);La confiance n'exclut pas le contrôle
31 mai 2013 à 19:24
Sinon au pire des cas j'ajoute une petite soustraction de 127 histoire de ne pas utilisé l'ascii étendue et je le retrouve dans mon programme en rajoutant ce 127 ^^
Merci de ton aide , je vais essayé de me débrouiller ^^
31 mai 2013 à 19:29
https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html