begin process at 2012 02 09 19:02:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > COMPRESSION RLE (PART II)

COMPRESSION RLE (PART II)


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Classé sous :compression, decompression, rle, longueur Niveau :Débutant Date de création :12/03/2007 Vu / téléchargé :6 514 / 124

Auteur : stfou

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Ben voilà, c'est la suite de ma dernière source, sur la compression, là ca utilise la méthode de compression RLE (run length encoding) ou compression de longueur. en concret :
compress("aaaaaaaaaaabbbbbbbbbbbbbbcccccccccca") ;
donnera : a(le caractère qui a pour code ascii 11) b(char 14) c a
etc..
au final ça nous donnera un truc du genre a$b%c*a* (c'est un mauvais exemple...)
pas la pene d'expliquer la décompression...

Source

  • Chaine claire.<br>
  • <textarea id="0" onkeyUp="document.getElementById(1).value=compress(this.value);document.getElementById(2).value=decompress(compress(this.value));document.getElementById(3).value=this.value.length-compress(this.value).length">
  • </textarea><br><br>
  • Chaine compressée.<br>
  • <textarea id="1">
  • </textarea><br><br>
  • Chaine décompréssée.<br>
  • <textarea id="2">
  • </textarea><br><br>
  • Caractères gagnés.<br>
  • <input type="text" id="3">
  • <script>
  • function compress(text)
  • {
  • var ranked=text.split("");
  • var compstr="";
  • var k=0;
  • for(i=0;i<ranked.length;i++)
  • {
  • if(k<255){k++}else{compstr+=ranked[i]+String.fromCharCode(k);k=0;};
  • if(ranked[i]!=ranked[i+1]){compstr+=ranked[i]+String.fromCharCode(k);k=0;}
  • }
  • return compstr;
  • }
  • function decompress(text)
  • {
  • var decompstr="";
  • for(i=0;i<text.length;i+=2)
  • {
  • for(k=0;k<text.charCodeAt(i+1);k++)
  • {
  • decompstr+=text.charAt(i);
  • }
  • }
  • return decompstr
  • }
  • </script>
Chaine claire.<br>
<textarea id="0" onkeyUp="document.getElementById(1).value=compress(this.value);document.getElementById(2).value=decompress(compress(this.value));document.getElementById(3).value=this.value.length-compress(this.value).length">

</textarea><br><br>
Chaine compressée.<br>
<textarea id="1">

</textarea><br><br>
Chaine décompréssée.<br>
<textarea id="2">

</textarea><br><br>
Caractères gagnés.<br>
<input type="text" id="3">
<script>
function compress(text)
{
var ranked=text.split("");
var compstr="";
var k=0;
for(i=0;i<ranked.length;i++)
{
	if(k<255){k++}else{compstr+=ranked[i]+String.fromCharCode(k);k=0;};
	if(ranked[i]!=ranked[i+1]){compstr+=ranked[i]+String.fromCharCode(k);k=0;}
}
return compstr;
}


function decompress(text)
{
var decompstr="";
	for(i=0;i<text.length;i+=2)
	{
		for(k=0;k<text.charCodeAt(i+1);k++)
		{
			decompstr+=text.charAt(i);
		}
	}
return decompstr
}

</script>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • RLEcompress.htaTélécharger ce fichier [Réservé aux membres club]956 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip SYNTHÈSE VOCALE
Source avec Zip EDITEUR VBSCRIPT (EVBS)
Source avec Zip COMPRESSION DE CHAINE
TROUVER LE PLUS GRAND COMMUN DÉNOMINATEUR (PGCD)
Source avec Zip SHOOT THE SMILEY (JEU DE TIR)

 Sources de la même categorie

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE par william voirol

 Sources en rapport avec celle ci

Source avec Zip COMPRESSION DE TEXTE CÔTÉ CLIENT EN JS VIA ALGORYTHME LZW par niamor36
Source avec Zip COMPRESSION DE CHAINE par stfou

Commentaires et avis

Commentaire de stfou le 12/03/2007 19:13:13

Voilà... j'ai oublié de préciser que ça ne marche pas a tout les coups... par exemple :
abcdefghijklmnop donnera :
a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1
soit le double... mais ç'est juste pour démontere la méthode RLE.

Commentaire de PetoleTeam le 30/03/2007 14:15:17

Bonjour,
La méthode RLE pour compresser des...TEXTEs... fallait osé, mais bon...
Je cite [ mais ç'est juste pour démontere la méthode RLE.]
OU sont les commentaires de la source pour l'expliquer !

;0)

Commentaire de stfou le 01/04/2007 13:18:05

bof, ya pas vraiment besoin de commentaires, tout le monde comprend comment ça marche. pour les lignes de codes, c'est pas non plus compliqué a comprendre qui fait quoi.

Commentaire de djalalttl le 26/05/2008 12:57:46

merci ,mais j'est besoin d'une source compression des donées en Delphi SVP

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

longueur de chaine de caracteres ! [ par yoyo ] Salut a tousg un petit pb de chaine de car. Je vais un test sur la longueur d'une chaine contenue dans un textbox.Voici le code que j'utilise:if (form Fermer Excel [ par sebast105 ] Bonjour,J'ouvre un document Excel (avec macros) &#224; partir d'un lien en html &#224; l'aide de ce code ci dessous:function ouvrir_appli(url) { var l pb d'initialisation d'un tableau ds une boucle for [ par thierryGuibert ] Bonjour &#224; tous, Voici mon souci : je lance une m&#233;thode "init" qui doit remplir mon tableau &#224; plusieurs dimension d'une valeur al&#233;a Récupérer la longueur d'une div et l'appliquer à une autre. [ par chiktika ] Bonjour,Voila, J'ai un div (div id="contenu") dont la longueur dépend de la longueur d'un texte qui varie à chaque page html.J'ai un deuxième div (div decompression archive [ par akrlot1 ] salut;je veux faire une fonction qui decompresse une archive?merci pour toute indication Editeur wysiwyg dans un div [ par picolo220 ] Bonjour, je suis en train d'essayer de réaliser un éditeur wysiwyg.Pour l'instant je m'intéresse seulement à firefox, je verrai plus tard pour IE.J'ai Petit soucis de javascript ^^ [ par GuismoJames ] Bonjour, je souhaite personnaliser une page Index.Of Je vous est simplifié la démarche dans le code source présenté, mais tout y est ! Se que je sou Compression de texte pour upload [ par niamor36 ] Bonjour à tous, je suis en train de développer une petite appli web qui stock dans un tableau les choix de l'utilisateur. Au final, je traduit sous f Vérifier longueur d'href d'une iframe [ par arbilus ] Bonjours, j'aurais aimer savoir comment faire pour vérifier la longueur de l'url courant d'une iframe . Voila ce que j'ai fait : [code=js] </ifram


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,151 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales