« 1 2
Autor Zpráva
honkytonk
Profil *
může mi někdo vysvětlit co znamenají ty první dva bajty v souboru když si ho prohlížím v hexaeditoru?

http://oi42.tinypic.com/2ngezbk.jpg

protože když pak zapisuji na nultou, respektive na první, pozici E0 tak to vypadá že je na správném místě. Ale když provedu druhý zápis, tak zmizí to FFFE a pak už ty čísla nesedí.
juriad
Profil
Jde o BOM (http://en.wikipedia.org/wiki/Byte_order_mark). Neviditelný znak, který uvádí pořadí bytů.
honkytonk
Profil *
To teda nevypadá moc dobře. Dočetl jsem se že je to značka formátu Unicode, ale já myslel že zapisuji do binárního souboru. Když jsem ten soubor vytvářel použil jsem mod
$fh = @fopen($this->file,"x");
a nyní když do něho zapisuji
mám tam mód
fopen($this->file,"r+b");
je to chyba? Z teoretického hlediska se mi to jako chyba jeví, ale přitom mi to předtím nefungovalo. Na vytvoření souboru
fopen($this->file,"xb"); asi nic nemění, protože BOM tam bude zase.


oprava: přitom mi to předtím fungovalo.
honkytonk
Profil *
Předpokládal jsem že se nikomu nechce číst tu dlouho třídu, tak jsem to zkusil zkrátit a zjednodušit. Tohle funguje.

http://paste.ofcode.org/8ipwC6eWGPxZpHGK5DQFmg

Stačí spustit a vytvoří se soubor test.txt
Zápisy do souboru se povedlo provést (na první a pátý bajt)

Proč to tedy v té třídě nejede, hm?
« 1 2

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: