Partage
  • Partager sur Facebook
  • Partager sur Twitter

Codage de caractères en binaire

Table ASCII étendue (8 bits/caractère)

    7 mai 2012 à 16:43:03

    Bonjour,

    J'écris un programme ça fait quelques jours et une partie consiste à réaliser une "méthode" qui récupère du texte à partir d'un fichier texte. Ce texte sera ensuite codé en binaire selon la table ascii étendue (8 bits par caractère) et je n'arrive pas à réaliser cela. Je sais juste lire un fichier ligne par ligne et écrire dans un fichier, le reste j'ai aucune idée mais je pense que chaque ligne sera récupérée, codée et mis dans un autre fichier jusqu'à épuiser tout le texte. Ainsi, le second fichier contiendra le premier mais en version binaire... Si vous êtes d'accord sur cette idée, veuillez s'il vous plaît m'aider à la réaliser en JAVA, merci!




    J'ai pu m'arranger à faire un programme qui renvoie le code en binaire d'un caractère:

    public class Ascii {
    	public static void main(String[] args) {
    		char c = 'z';
    		
    		int[] binary = toAscii (c);
    		
    		for (int i : binary) {
    			System.out.println(i);
    		}
    				
    	}
    	
    	public static int[] toAscii (char caractere) {
    		int codeAscii = (int) caractere;
    		int i=0, valeur = codeAscii, temp[], Byte[], j=7;
    		temp = new int [8];
    		Byte = new int [8];
    		
    		while ((valeur/2>=0) && (i<8)){
    			temp[i]=valeur%2;
    			valeur=valeur/2;
    			i++;
    		}
    		
    		i=0;
    		
    		while (i<8){
    			Byte[i]=temp[j];
    			i++;
    			j--;
    		}
    		
    		return Byte;
    	}
    }
    


    Maintenant, ce que je veux c'est pouvoir coder intégralement le contenu d'un fichier texte tout en mettant le résultat dans un autre fichier. Je me demande aussi si c'est possible de lire le fichier caractère par caractère pour permettre le codage caractère par caractère...


    Un autre problème qui m'agace c'est que les codes ASCII renvoyés par JAVA ne respectent pas la table ASCII étendue sur laquelle je souhaiterais absolument me baser pour réaliser mes codages. En effet, le code ASCII de "é" par exemple en ASCII étendu est "130" alors que JAVA lui, me renvoie "233" (par contre pour des simples caractères comme "A" ça marche c-à-d "A"=>"65" tant en ASCII étendu qu'en JAVA)... Comment faire pour pouvoir me conformer à la table ASCII étendu ?

    Merci de bien vouloir m'aider.
    • Partager sur Facebook
    • Partager sur Twitter

    Codage de caractères en binaire

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown