Scrierea textului în codificarea utf-8 fără bom de la 1s 8

19. Alexey (Alex1c) 17 10/10/13 16:09 Acum în subiect

Scrierea procesării pentru hashing de către GOST utilizând EXE de la terțe părți. Programul a lucrat prin linia de comandă. A fost necesar să îi spunem calea către dosar cu datele la intrare. Acesta a generat un fișier de ieșire cu hash.






Am o problemă. Am avut un fișier de testare și un fișier generat 1C care părea exact același lucru. Diferența în dimensiune este de 2 octeți. Programul a produs un program diferit. Sa dovedit că, în mod prestabilit, 1C indică caracterul de întrerupere a liniei și când creați fișierul și când adăugați o linie. El a arătat în ambele locuri ca un simbol al "" și totul a mers. Am folosit multe idei din acest post. Poate că cineva va fi un cod complet util.


// a șters fișierul primit
Ștergeți fișierele (CatalogTime Files () + "in.txt");






TekstIn = new textier (KatalogVremennyhFaylov () + "in.txt", KodirovkaTeksta.UTF8 "" Lies);
TextIn.RecordString (String (SokrLP (VREG (IncomingData))));
TextIn.Close ();

// tăiați forța de tracțiune
OB_DD = Noi date binare (CatalogTimeFiles () + "in.txt");
Base_Base64 = Base64String (OB_DD);
OB_DD = Base64Value (Avg (Base_Base64,5));
OBDD.Record (fișiere CatalogTime () + "in.txt");

// a șters fișierul de ieșire
Ștergeți fișierele (CatalogTime Files () + "out.txt");
TekstOut = new textier (KatalogVremennyhFaylov () + "out.txt", KodirovkaTeksta.UTF8, Lies);
TextOut.Close ();

// executați o aplicație hash
ZapustitPrilozhenie (String (FileName) + "--gost-cryptopro" + KatalogVremennyhFaylov () + "in.txt" + "" + "- output =" + KatalogVremennyhFaylov () + "out.txt" ,, Adevărat);

/ / citiți rezultatul din fișierul de ieșire
Text = Text de citire nou (CatalogTimeFiles () + "out.txt", EncodingText, UTF8);
Стр = Text. Citiți șirul (""); // când a creat fișierul, linia a fost eliminată, când citim, de asemenea, eliminată, adică citim întregul fișier ca șir







Trimiteți-le prietenilor: