J'ai un programme qui compresse une chaîne d'une manière inconnue. Je connais quelques entrées et la sortie produite, mais je ne suis pas sûr de ce qui est utilisé pour compresser la corde.Décodage d'une chaîne courte compressée; incertain sur la compression utilisée - Mise à jour
Voici mes exemples.
(seulement 38 xa, sans espaces ni quoi que ce soit d'autre)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Out: "21 1A A6 30 00"
(seulement 32 xa)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Out: "1c 1a a7 a0 00"
(31 xa, puis 1 b)
In: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"
Out: "01 77 c5 53 c0 00"
(31 xb, puis 1 a)
In: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba"
Out: "1e 77 54 f3 80 00"
In: "Hey wot u doing 2day u wanna do something"
Out: "11 C7 C6 2E 78 CE 6B 8E 3A CD 83 E8 1B 37 C5 C5 A6 B9 D1 E1 B0 69 63 DB 5E 71 15 5C 10 00"
(identique à la chaîne précédente, mais avec un espace à la fin)
In: "Hey wot u doing 2day u wanna do something "
Out: "12 C7 71 8B 9E 33 9A E2 EB 36 0F A0 2C DF 17 17 7A 67 47 86 DF 4B 1E DA F3 88 AA E0 80 00"
Toute aide/conseils serait génial, merci! En outre, il peut être utile de savoir que ceux-ci proviennent d'un BlackBerry 8120
Pouvez-vous essayer compresser d'autres entrées, par exemple une chaîne nulle, un seul caractère, deux caractères? –
Je ne peux pas avoir peur; Je n'ai pas le programme, on m'a juste donné ces exemples et on m'a demandé de mettre au point la méthode de compression ... On m'a dit qu'il ne comprimerait pas les chaînes de moins de 30 caractères, car ce n'est pas efficace. – James
Une autre observation à ajouter; pour les deux chaînes similaires, il y a deux octets répétés au même point. Pour le premier c'est c5c5, et le second est 1717. Peut-être une coïncidence, pourrait aussi se rapporter au "nn" dans wanna peut-être? – James