Accueil > > > COMPRESSION RLE (PART II)
COMPRESSION RLE (PART II)
Information sur la source
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>
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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) à partir d'un lien en html à 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 à tous, Voici mon souci : je lance une méthode "init" qui doit remplir mon tableau à plusieurs dimension d'une valeur alé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
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|