Kako ugotoviti dejansko vsebino datoteke na disku?

Vse o programiranju na in za PC

Moderatorji: Kroko, tilz0R

Kako ugotoviti dejansko vsebino datoteke na disku?

OdgovorNapisal/-a twom » 30 Mar 2021, 08:49

Imam unicode datoteko.
Če jo odprem s totalcommander binary compare imam vrstice zaključene z \00\0D\00\0A,
notepad++ mi pokaže CRLF,
python pa \0\A\0\A

Kaj je sedaj prav?

Ali je kakšen program, da sem lahko popolnoma prepričan da pokaže vsebino datoteke na disku, brez vpliva operacijskega sistema? Pythona ne poznam dovolj v podrobnosti. Možno je pa tudi da že program, ki naredi unicode datoteko piše različno...

Lp
twom
 
Prispevkov: 119
Pridružen: 19 Jan 2015, 09:22
Kraj: Ljubljana
Zahvalil se je: 0 krat
Prejel zahvalo: 12 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 5

Re: Kako ugotoviti dejansko vsebino datoteke na disku?

OdgovorNapisal/-a s54mtb » 30 Mar 2021, 08:56

Jaz za take stvari uporabljam hexplorer
https://sourceforge.net/projects/hexplorer/
Pokaže točno vsebino na disku, lahko tudi tisti del bloka na disku, ki je sicer po koncu datoteke, a še vedno zaseda prostor zaradi fiksne enote (bloka) datotečnega sistema.
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 13094
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1914 krat
Prejel zahvalo: 5240 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Kako ugotoviti dejansko vsebino datoteke na disku?

OdgovorNapisal/-a gumby » 30 Mar 2021, 09:27

TC binary pokaže dejansko vsebino.
Notepad++ v bistvu tudi kaže prav, gre pač za unicode CRLF.
my brain hurts
Uporabniški avatar
gumby
 
Prispevkov: 2744
Pridružen: 14 Jan 2015, 19:49
Kraj: Lendava
Zahvalil se je: 115 krat
Prejel zahvalo: 725 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 74

Re: Kako ugotoviti dejansko vsebino datoteke na disku?

OdgovorNapisal/-a urosg » 30 Mar 2021, 09:58

Vsi trije "pogledi" ti kažejo dejansko isto vsebino samo v drugačni obliki.

Python ti pa verjetno po defaultu spremeni konec vrstice v Unix kompatibilni format in tako poreže ven CRje (\0d).

še za dodatno referenco:
\n == 0x0a
\r == 0x0d
Uporabniški avatar
urosg
 
Prispevkov: 553
Pridružen: 10 Feb 2015, 14:38
Kraj: Domžale, Mengeš, Kamnik
Zahvalil se je: 18 krat
Prejel zahvalo: 100 krat
Uporabnika povabil: mucek
Število neizkoriščenih povabil: 10

Re: Kako ugotoviti dejansko vsebino datoteke na disku?

OdgovorNapisal/-a igo » 30 Mar 2021, 13:46

Za Notepad++ si zvleci dol dodatek Hex viewer.
Potem boš lahko znake primerjal s tabelo ASCII znakov.
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
igo
 
Prispevkov: 1599
Pridružen: 11 Apr 2015, 13:38
Kraj: Krško
Zahvalil se je: 182 krat
Prejel zahvalo: 416 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 40


Vrni se na Programski jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost