[Python-de] IFF Format: Dict?

Armin Stross-Radschinski developer at acsr.de
Fr Dez 14 04:31:33 EST 2018


IFF ist so etabliert, dass es fast keiner mehr kennt und nur noch als AIFF herumgeistert. (Oder habe ich etwas übersehen?).

(Antworten separat erbeten)

Das geniale am IFF ist die fast universelle Konzeption als Containerformat, dass für jeden Chunk den man hinten dranschreibt andere Payloads verstauen kann und nahezu jede Art von Daten mixen kann. Allerdings muss der Partner (Kunde) das auch beherrschen. Für jede Art von Chunk konnte man früher bei Electronic Arts (Ja die!) einen 4-Letter Code für den Chunk beantragen und reserviert registrieren. Ob das noch lebt, weiß ich nicht.

Wenn Du das Format beim Kunden selbst etablieren kannst ist es eine tolle Sache. Du kannst sogar die Binärdaten und Plaintext Version im selben File zusammen liefern, so kann man effektiv laden und doch ohne dekodieren Volltext indizieren etc.

Ich sehe aber bei Deinem UseCase keinen Vorteil. Ich beschäftige mich seit Jahrzehnten mit langfristiger Datenarchivierung > 20 Jahre. Ich empfehle dir daher den gesamten Lifecycle der Daten als Userstory aufzuschreiben, um die Requirements zu überblicken. Einfach dem Mainstream hinterherlaufen ist Blödsinn, sonst kommt ja nichts besseres mehr.

Wenn das Fire & Forget Daten sind die nicht archiviert oder protokolliert werden müssen (Blockchain? bewahre uns davor!). Würde ich mich eher auf saubere Dokumentation und Testing (Unicode, ByteOrder, Float Precision, l10n bei Units, Import Konvertierung etc.) konzentrieren. Hier passieren die meisten Fehler, weil die Leute Specs und Beispieldaten nicht auseinanderhalten können und nur Ihre Welt sehen. (Hat doch mal funktioniert..., Amis am Hebel).

my 2 Cent

> Am 14.12.2018 um 09:04 schrieb Thomas Güttler <guettliml at thomas-guettler.de>:
> 
> 
> 
> Am 13.12.18 um 16:06 schrieb Stefan Ram:
>> =?UTF-8?Q?Thomas_G=c3=bcttler?= <guettliml at thomas-guettler.de> writes:
>>> Am 07.12.18 um 02:08 schrieb Stefan Ram:
>>>> =?UTF-8?Q?Thomas_G=c3=bcttler?= <guettliml at thomas-guettler.de> writes:
>>>>> "if blablabla, dann die Daten erst noch per base64 verwurschteln ..."
>>>> Du kannst ja einfach /alle/ Daten (auch die Textdaten)
>>>> base64-kodieren. Dann brauchst Du kein "if".
>>>>> Wäre wirklich super, wenn ich meinem Kunden sagen könnte:
>>>>> Wir nehmen JSON++ (gibt es nicht, der Name ist erfunden) und fertig.
>>>> Dann nenne das Verfahren, bei dem alle Daten base64-kodiert
>>>> werden, "JSON64".
>>> Ich suche nach einem Datenformat, dass mehr oder weniger etabliert ist.
>>   Dann nimm doch IFF. Das wird sogar mit dem Modul "chunk.py"
>>   schon von der Python-Standardbibliothek unterstützt.
> 
> Wie kann man ein Python Dictionary in IFF speichern/laden?
> 
> Gruß,
>  Thomas
> 
> --
> Thomas Guettler http://www.thomas-guettler.de/
> I am looking for feedback: https://github.com/guettli/programming-guidelines
> _______________________________________________
> python-de maillist  -  python-de at python.org
> https://mail.python.org/mailman/listinfo/python-de

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 529 bytes
Beschreibung: Message signed with OpenPGP using GPGMail
URL         : <http://mail.python.org/pipermail/python-de/attachments/20181214/bddd9cd0/attachment.sig>


Mehr Informationen über die Mailingliste python-de