Binary file aanpassen, en later weer terug

Pagina: 1
Acties:

  • stok
  • Registratie: Oktober 2000
  • Niet online
Ik heb een printproces. Welke bestaat uit een flink aantal deelprocessen.

Om een file te kunnen herkennen wordt ergens in het begin de file geanalyseerd (welk filetype eg. PDF, PS, TIFF etc.) en wordt er een kenmerk aan de file toegevoegd.

Dit kenmerk (het filetype) wordt op de 1e regel van de file toegevoegd. Een later proces kijkt naar de 1e regel en weet dat dit filetype x is. En haalt vervolgens deze regel weer weg om de file verder te bewerken.

Nu werkt dit voor de meeste files heel erg goed. Alleen bij binaire files (TIFF bijvoorbeeld) niet, omdat er, wanneer het kenmerk toegevoegd wordt, een aantal bytes verschuiven, en wanneer het kenmerk verwijderd wordt schijnbaar niet meer terugschuiven. Nu heb ik in vi hetzelfde handmatig geprobeerd en later ook eens in Notepad (Windows), en beide geven hetzelfde probleem; de file is na het terugveranderen niet meer exact hetzelfde als voor de bewerking.

Kan iemand mij uitleggen hoe dit kan, en wat ik eraan kan doen om dit te voorkomen?

Verwijderd

dat is een verschilletje binairy <-> text.
de manier die je gebruikt. (vim/notepas) ondersteunen gewoon niet het bestandstype van een binair bestand. (is logies)
de manier die je gebruikt om die herkenning erin te zetten kan dat waarschijnlijk ook niet.

mogelijk is het een betere manier om gewoon de MIME ondersteuning van linux zelf te gebruiken?
code:
1
2
3
4
[~@slaptop]$file /home/stratos/CMS/presentatie.pdf
/home/stratos/CMS/presentatie.pdf: PDF document, version 1.4
[~@slaptop]$file /usr/share/pixmaps/nautilus/Bluecurve/gnome-image-tif
/usr/share/pixmaps/nautilus/Bluecurve/gnome-image-tiff.png: PNG image data, 48 x 52, 8-bit/color RGBA, non-interlaced

zie man file
en ook /etc/magic.mime en /etc/file/mime

  • stok
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 28 mei 2004 @ 10:34:
dat is een verschilletje binairy <-> text.
de manier die je gebruikt. (vim/notepas) ondersteunen gewoon niet het bestandstype van een binair bestand. (is logies)
de manier die je gebruikt om die herkenning erin te zetten kan dat waarschijnlijk ook niet.

mogelijk is het een betere manier om gewoon de MIME ondersteuning van linux zelf te gebruiken?
code:
1
2
3
4
[~@slaptop]$file /home/stratos/CMS/presentatie.pdf
/home/stratos/CMS/presentatie.pdf: PDF document, version 1.4
[~@slaptop]$file /usr/share/pixmaps/nautilus/Bluecurve/gnome-image-tif
/usr/share/pixmaps/nautilus/Bluecurve/gnome-image-tiff.png: PNG image data, 48 x 52, 8-bit/color RGBA, non-interlaced

zie man file
en ook /etc/magic.mime en /etc/file/mime
Solaris ;)
NOS is niet per sé Linux ;)

(had ik er ook ff bij moeten zetten, sorry)

Ik zal er eens naar kijken.

/edit

Goed, het probleem is dat 'file' niet het verschil ziet tussen PCL/4, PCL/5.
Hij herkent HPGL of HPGL/2 files niet. En zo zijn er nog wat verschillen.

Ik ga nu een omweg proberen te maken, maar als er nog andere suggesties zijn, dant zijn deze welkom :)

[ Voor 13% gewijzigd door stok op 28-05-2004 10:46 ]


Verwijderd

/me heeft geen idee of dit wat is:

kan je anders niet een los text bestand erbij maken, met bv dezelfde naam als het origineel + .txt ... en evt samen intarren en later untarren ofzo?

  • stok
  • Registratie: Oktober 2000
  • Niet online
Verwijderd schreef op 28 mei 2004 @ 10:45:
/me heeft geen idee of dit wat is:

kan je anders niet een los text bestand erbij maken, met bv dezelfde naam als het origineel + .txt ... en evt samen intarren en later untarren ofzo?
Helaas. Er komen echt smerig veel printjobs door het systeem, en dit is véél te langzaam.

Plus dat het (als ik er snel ff over nadenk) niet echt mogelijk is, daar ik op sommige delen delen vrij beperkt ben qua mogelijkheden.

/edit
Goed, ik ga het als volgt aanpakken. (een paar posts hierboven gaf StratoS_V2.0 mij de inspiratie), ik ga de informatie niet als txt. wegschrijven, maar als bytes, of hex (afhankelijk vd file).

Bedankt voor de tips

[ Voor 19% gewijzigd door stok op 28-05-2004 10:58 ]