Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Różnica między plikiem binarnym a tekstowym

Ostatnio zmodyfikowano 2014-07-08 12:28
Autor Wiadomość
fokusx
Temat założony przez niniejszego użytkownika
Różnica między plikiem binarnym a tekstowym
» 2014-07-07 20:00:03
Witam, jestem początkujący i nie wiem jak zapisywać dane binarnie.

Wujek google powiedział mi, że różnią się one znakami końca lini, pliku i rozpiętością znaków.

Gdy jednak próbowałem zapisać dane: char *tmp= { 't', 's' }; tak jak było w kursie zamiast binarnie pojawiły mi się te same znaki w pliku (otworzone notatnikiem) ;\

Jak to w końcu jest? Załóżmy chcę stworzyć swój własny format pliku grafiki (coś ala jpg tyle że nie zakodowany).

Jak zapisywać dane? Może każdy znak np. 0x7878 (hex) interpretować na swój sposób?
P-113450
pekfos
» 2014-07-07 20:09:54
Gdy jednak próbowałem zapisać dane: char *tmp= { 't', 's' }; tak jak było w kursie zamiast binarnie pojawiły mi się te same znaki w pliku (otworzone notatnikiem) ;\
A co niby miało się pojawić, jak nie to, co zapisujesz..?
P-113453
fokusx
Temat założony przez niniejszego użytkownika
» 2014-07-07 20:16:20
Właśnie tego nie wiem...


Jak to w końcu jest? Załóżmy chcę stworzyć swój własny format pliku grafiki (coś ala jpg tyle że nie zakodowany).

Jak zapisywać dane? Może każdy znak np. 0x7878 (hex) interpretować na swój sposób?

Jak zapisywać ten obraz? Tekstowo zapisałbym piksel po pikselu,a binarnie? Po co ktoś zapisuje dziwnymi krzakami (w dec) jakby mógł normalnie dostępnymi poprzez np. cyfry?

P-113457
pekfos
» 2014-07-07 20:27:35
Tekstowo zapisałbym piksel po pikselu,a binarnie? Po co ktoś zapisuje dziwnymi krzakami (w dec) jakby mógł normalnie dostępnymi poprzez np. cyfry?
A teraz rusz głową i pomyśl, dlaczego nikt tak nie robi. Pewnie dlatego, że nie ma żadnego sensu w robieniu wiele razy większych plików i wolniejszych w zapisie tylko po to, by ktoś otwierając go w notatniku zobaczył cyfry, a nie krzaki..
P-113459
MrPoxipol
» 2014-07-07 20:28:43
Bo odczyt binarnych plików jest dla komputera szybszy, a i tak zawiera on dane obrazu, którego nie będziesz edytował w notatniku.
Co do tekstowych formatów to zobacz sobie .xpm.
P-113460
fokusx
Temat założony przez niniejszego użytkownika
» 2014-07-07 20:41:20
Doczytałem jeszcze raz poradnik i popróbowałem sam zamieniać liczby (dec) na (hex), w przypadku liczb tworzą się "krzaki", a w przypadku char pozostanie char, dobrze to rozumuję?

Przykładowo liczba 60 zapisze jako '<' (w dec)
P-113462
pekfos
» 2014-07-07 22:24:06
popróbowałem sam zamieniać liczby (dec) na (hex)
Co to ma wspólnego z tematem?

'<' (w dec)
?
P-113472
fokusx
Temat założony przez niniejszego użytkownika
» 2014-07-07 22:39:12
Jako zielona osoba w c++ nie miałem pojęcia jaka jest zasadnicza różnica między plikiem binarnym a tekstowym.

Dopiero teraz zrozumiałem, że plik tekstowy to też plik binarny, z tym że wartości binarne są zamieniane na kod ASCII (zmienną typu char), zatem zapisując zmienną typu char jako plik binarny, otrzymuję zarazem plik tekstowy.
Już doczytałem dokładnie także chyba nie plotę bzdur?

Napisałeś:

A teraz rusz głową i pomyśl, dlaczego nikt tak nie robi. Pewnie dlatego, że nie ma żadnego sensu w robieniu wiele razy większych plików i wolniejszych w zapisie tylko po to, by ktoś otwierając go w notatniku zobaczył cyfry, a nie krzaki..
To ja wiedziałem, nie wiedziałem co wiąże ze sobą kod binarny ze znakiem ASCII  i że plik tekstowy to też plik binarny.

Początkowo myślałem, że zmienna typu int wynosząca 1 to, to samo co zmienna typu char wynosząca '1'.

#edit
Sugeruję dodać buttony BBCode, bo do tej pory nie wiem jak cytować wiadomości 0_o
[quote]
 nie działa.
P-113482
« 1 » 2
  Strona 1 z 2 Następna strona