Codarea fișierelor binare (baza mime84)


Principala formă a programului.

Practicarea folosind fire: TFileStream, TBase64EncodingStream, TBase64DecodingStream. Programul codifică fișierele (binare, în special - imagini) utilizând codarea MIME - base64. Codul rezultant 64 este format numai din caractere textuale: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + / și pot fi transmise prin canalele care transmit numai alfabetul (de exemplu, unele protocoale utilizate de Internet). Acest cod poate fi folosit ca date în interogări SQL și astfel stochează date binare (în formă de text codificat) în baze de date. Plata pentru aceasta este o creștere a volumului de date cu 33%.







Au rămas probleme nerezolvate (în special rusificarea):
  1. În textul codului sursă .pas, trebuie adesea să utilizați AnsiToUtf8 ()
  2. Nu ponimet nume rusești de fișiere la deschiderea (OPenDialog) și le transformă în kryakozyabry (UTF8) (SaveDialog) dacă încercați să scrie un fișier. Cu toate acestea, aceste fișiere se deschid cu un notebook. ++ fixe
  3. Concluzie Textul rus din fișier .txt în Memo (la copiere): se pare că trebuie să-l transforme pentru ansitoutf8 kryakozyabry ++ fix
  4. La codificarea - nu puteți codifica același fișier de două ori la rând (? Ocupat - nu este închisă) ++ fix: adăugat InStream.Free;






Se pare că UTF8 este codificarea nativă a lui Lazăr. Sau undeva se comută (mă voi uita) și schimbarea codului sursă de codificare la aceste probleme nu afectează.

Textul modulului principal (corectat și în arhivă - (încă) necorectat)

Dezarhivați arhiva într-un dosar și deschideți projStreams1.lpi - pentru a lucra cu proiectul
Proiectul trebuie deschis (dacă este instalat Lazarus).
Sau rulați projStreams1.exe (dacă aveți nevoie de ceva, vă rugăm să raportați)







Articole similare

Trimiteți-le prietenilor: