Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme de traducteur Binaire

    8 janvier 2009 à 13:26:08

    Bonjour jai créé un traducteur Binaire je lai copié sur mon crypteur (je m'y connais pas trop en javascript), sur mon crypteur je peut crypter et decrypter mais la je ne peut que transformet le texte en binaire mais pas transformer le binaire en Francais:

    <script language="JavaScript">
    <!--
    //Pris exemple sur le Crypteur
    window.resizeTo(600,600);
        window.moveTo(0,0);
    if (parent.frames.length > 0)
    window.top.location.href = location.href;
    function traduct(){
    var mots = document.trad.normal.value
    var mots2="" 
    mots=mots.toUpperCase()
    for(i=0; i<mots.length; i++) {
    switch(mots.charAt(i)){
    	case " " :
    		mots2= mots2+" ";
    		break;
    	case "A" :
    		mots2= mots2+"01000001";
    		break;
    	case "B" :
    		mots2= mots2+"01000010";
    		break;
    	case "C" :
    		mots2= mots2+"01000011";
    		break;
    	case "D" :
    		mots2= mots2+"01000100";
    		break;
    	case "E" :
    		mots2= mots2+"01000101";
    		break;
    	case "F" :
    		mots2= mots2+"01000111";
    		break;
    	case "G" :
    		mots2= mots2+"01001000";
    		break
    	case "H" :
    		mots2= mots2+"01001001";
    		break;
    			case "I" :
    		mots2= mots2+"01001010";
    		break;
    			case "J" :
    		mots2= mots2+"01001011";
    		break;
    			case "K" :
    		mots2= mots2+"01001100";
    		break;
    			case "L" :
    		mots2= mots2+"01001101";
    		break;
    			case "M" :
    		mots2= mots2+"01001110";
    		break;
    			case "N" :
    		mots2= mots2+"01001111";
    		break;
    			case "O" :
    		mots2= mots2+"01010000";
    		break;
    			case "P" :
    		mots2= mots2+"01010001";
    		break;
    			case "Q" :
    		mots2= mots2+"01010010";
    		break;
    			case "R" :
    		mots2= mots2+"01010011";
    		break;
    			case "S" :
    		mots2= mots2+"01010100";
    		break;
    			case "T" :
    		mots2= mots2+"01010101";
    		break;
    			case "U" :
    		mots2= mots2+"01010110";
    		break;
    			case "V" :
    		mots2= mots2+"01010111";
    		break;
    			case "W" :
    		mots2= mots2+"01011000";
    		break;
    			case "X" :
    		mots2= mots2+"01011001";
    		break;
    			case "Y" :
    		mots2= mots2+"01011010";
    		break;
    			case "Z" :
    		mots2= mots2+"01011011";
    		break;
    		
    		
    	default :
    			mots2= mots2+mots.charAt(i);
    }
    }
    document.trad.albhede.value = mots2
    }
    function traduct2(){
    var mots = document.trad.normal.value
    var mots2="" 
    mots=mots.toUpperCase()
    for(i=0; i<mots.length; i++) {
    switch(mots.charAt(i)){
    
    	case " " :
    		mots2= mots2+" ";
    		break;
    	case "01000001" :
    		mots2= mots2+"A";
    		break;
    		case "01000010" :
    		mots2= mots2+"B";
    		break;
    		case "01000011" :
    		mots2= mots2+"C";
    		break;
    		case "01000100" :
    		mots2= mots2+"D";
    		break;
    	case "01000101" :
    		mots2= mots2+"E";
    		break;
    		case "01000111" :
    		mots2= mots2+"F";
    		break;
    	case "01001000" :
    		mots2= mots2+"G";
    		break;
    		case "01001001" :
    		mots2= mots2+"H";
    		break;
    	case "01001010" :
    		mots2= mots2+"I";
    		break;
    		case "01001011" :
    		mots2= mots2+"J";
    		break;
    		case "01001100" :
    		mots2= mots2+"K";
    		break;
    		case "01001101" :
    		mots2= mots2+"L";
    		break;
    		case "01001110" :
    		mots2= mots2+"M";
    		break;
    		case "01001111" :
    		mots2= mots2+"N";
    		break;
    	case "01010000" :
    		mots2= mots2+"O";
    		break;
    		case "01010001" :
    		mots2= mots2+"P";
    		break;
    		case "01010010" :
    		mots2= mots2+"Q";
    		break;
    		case "01010011" :
    		mots2= mots2+"R";
    		break;
    	case "01010100" :
    		mots2= mots2+"S";
    		break;
    	case "01010101" :
    		mots2= mots2+"T";
    		break
    		case "01010110" :
    		mots2= mots2+"U";
    		break;
    		case "01010111" :
    		mots2= mots2+"V";
    		break;
    		case "01011000" :
    		mots2= mots2+"W";
    		break;
    		case "01011001" :
    		mots2= mots2+"X";
    		break;
    		case "01011010" :
    		mots2= mots2+"Y";
    		break;
    	case "01011011" :
    		mots2= mots2+"Z";
    		break;
    	default :
    			mots2= mots2+mots.charAt(i);
    }
    }
    document.trad.albhede.value = mots2
    }
    </script>
    <body>
    
    
    
                    
                  <form method="post" action="" name="trad">
                    <p align="center"> 
                      <textarea name="normal" cols="50" rows="5"></textarea>
                    </p>
                    <p align="center"> 
                      <input type="button" onClick="traduct()" name="Submit" value="FRANCAIS &gt; BINAIRE"><input type="button" onClick="traduct2()" name="Submit" value="BINAIRE &gt; FRANCAIS">
                      &nbsp;&nbsp;&nbsp;&nbsp; 
                      
                    </p>
                    <p align="center"> 
                      <textarea name="albhede" cols="50" rows="5"></textarea>
                    </p>
                    <p align="center"> 
                      <input onClick=form.albhede.focus();form.albhede.select() type=button value="S&eacute;lectionner la Traduction" name=grab>
                    </p>
                    
                    </p>
                  </form>
    
    </body>
    


    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2009 à 16:45:56

      C'est normal... dans ta fonction traduct2(), tu tentes de traduire chaque caractère... au lieu de traduire chaque suite de 8 caractères...
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2009 à 16:51:13

        Pourquoi te compliques tu autant?
        Il te suffirait de récupérer le code ascii de chaque caractère, tu transformes ce code en binaire.
        Cela éviterait toute ces conditions
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2009 à 19:08:48

          Salut,
          Pour commencer, j'aimerais savoir ce que tu veux précisément :
          en gros on entre une phrase en Français et ça nous ressort du binaire et vice-versa?

          Ton code (spécialement dans les switch) est assez mal indenté, je n'y comprend rien parfois.
          Tu a oublié un point virgule dans le case 'G' de la première fonction :o .
          Au lieu de faire hello = hello + word, fais plutôt hello += word, tu gagne en lisibilité :)
          Ensuite, comme l'a dis Golmote, dans ta fonction numéro 2, tu traduis chaque caractère, alors que tu dois faire un switch avec mots.substr(i,i+8) (en vérifiant avec un if si le caractère d'en ce moment n'est pas un espace). Au lieu de i++ tu devras faire i+=8.
          Je n'ai pas encore tout regardé,
          Bonne Chance.
          • Partager sur Facebook
          • Partager sur Twitter

          Probleme de traducteur 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