| Autor | Zpráva | ||
|---|---|---|---|
| honkytonk Profil * |
#1 · Zasláno: 9. 12. 2013, 19:21:12
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 |
#2 · Zasláno: 9. 12. 2013, 19:23:40
Jde o BOM (http://en.wikipedia.org/wiki/Byte_order_mark). Neviditelný znak, který uvádí pořadí bytů.
|
||
| honkytonk Profil * |
#3 · Zasláno: 9. 12. 2013, 19:48:53 · Upravil/a: honkytonk
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"); mám tam mód fopen($this->file,"r+b"); 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 * |
#4 · Zasláno: 10. 12. 2013, 14:17:01
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? |
||
|
Časová prodleva: 13 let
|
|||
0