nn

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
katrinv
User
Beiträge: 2
Registriert: Samstag 17. November 2007, 13:03

Samstag 17. November 2007, 13:07

nn
Zuletzt geändert von katrinv am Freitag 23. November 2007, 20:56, insgesamt 2-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Samstag 17. November 2007, 13:19

katrinv hat geschrieben:Hei, ich bekomm den Text einfach nicht raus:
Hallo katrinv!

Willkommen im Python-Forum!

Code: Alles auswählen

>>> s = "1111011 111011 101000101 101100110 101000101 
100110111 101000100 101100101 100110111 101010000 
101100101 101100010 101000101 100110111 1000001"
>>> binlist = s.split()
>>> binlist
['1111011', '111011', '101000101', '101100110', '101000101', 
'100110111', '101000100', '101100101', '100110111', '101010000', 
'101100101', '101100010', '101000101', '100110111', '1000001']
>>> intlist = [ int(item, 2) for item in binlist ]
>>> intlist
[123, 59, 325, 358, 325, 311, 324, 357, 311, 336, 357, 354, 325, 311, 65]
>>> 
Das sind Zahlen, die größer als 256 sind. Somit sind diese nicht mit ``chr()`` in ein Zeichen umwandelbar.

EDIT:

Code: Alles auswählen

>>> print "".join([unichr(item) for item in intlist])
{;ŅŦŅķńťķŐťŢŅķA
>>> 
Unicode scheint es auch nicht zu sein.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Samstag 17. November 2007, 13:36

Vielleicht sind die Leerzeichen auch an den falschen Stellen. Zusammen sind es 128 Bit, aber sie sind "komisch" gruppiert:

Code: Alles auswählen

In [19]: a.split()
Out[19]:
['1111011',
 '111011',
 '101000101',
 '101100110',
 '101000101',
 '100110111',
 '101000100',
 '101100101',
 '100110111',
 '101010000',
 '101100101',
 '101100010',
 '101000101',
 '100110111',
 '1000001']
Wenn man sie zusammensetzt und in 8er Gruppen zusammenfasst sieht's aber auch nicht sinnvoller aus:

Code: Alles auswählen

In [27]: ''.join([chr(int(a[i:i+8], 2)) for i in xrange(0, len(a), 8)])
Out[27]: '\xf7\xdd\x16\xcdE\x9b\xd1,\xb3z\x85\x96\xc5E\x9b\xc1'
Wo kommen die Daten denn her? Gibt's noch irgendwelche zusätzlichen Informationen? Und lösen wir hier gerade Hausaufgaben!? :-)
katrinv
User
Beiträge: 2
Registriert: Samstag 17. November 2007, 13:03

Samstag 17. November 2007, 15:54

der ders geschrieben hat, hat nur gesagt, dass es kein einfacher Schlüssel ist. Ich hab auch gedacht, dass die komisch gruppiert sind, oder zu lang.
BlackJack

Samstag 17. November 2007, 16:02

*Schlüssel*!? Schlüssel sind etwas anderes als kodierter Text. Schlüssel benutzt man zum ver- und entschlüsseln. Ohne kodierte Nachricht kann man da gar nichts sagen, und selbst mit dürfte es sehr schwer sein herauszufinden mit welchem Algoritmus der verschlüsselt wurde.
Antworten