De ce software-ul fișierului text este corupt - pagina 2

De fapt, mă interesează mai mult întrebarea: de ce sa deteriorat dosarul meu fără un motiv evident? Și un singur fișier din cele patru implicate în acest program a fost răsfățat, celelalte trei fișiere sunt destul de normale și nu s-au deteriorat încă. Fișierul A17.txt nu sa deteriorat, unde am copiat datele din fișierul corupt A16.txt.






Încă mai răsturnesc acest program și funcționează bine, toate fișierele sunt în ordine.

Un astfel de comportament complet imprevizibil și inexplicabil este foarte trist.
Imaginați-vă: Eu conduc programul și așteptăm rezultatele, iar rezultatele nu au o oră sau două și zi. Iar motivul este că unul dintre fișierele care conțineau datele originale pentru program a vrut să se strică. Și acest lucru nu este raportat nicăieri, că sa deteriorat!
Este necesar să introduceți controlul ecoului în program, astfel încât programul să afișeze toate datele inițiale pe care le-a primit de la fișiere externe.

A16.txt descărcat Yandex.Disk fișier corupt și din nou a efectuat procedura de schimbare a codificării ANSI.
Am aratat toti pasii, in fisierul salvat A76.txt, cu noua codificare ANSI, vad cateva intrebari.

De ce software-ul fișierului text este corupt - pagina 2

A deschis fișierul A16.txt în Notepad (folosind Notepad -> Open File)

De ce software-ul fișierului text este corupt - pagina 2

Salvează ca un fișier nou A76.txt, selectând codarea ANSI:

De ce software-ul fișierului text este corupt - pagina 2

Am deschis un nou fișier A76.txt în Notepad.

Apropo, fișierul A76.txt chiar și în WordPad se deschide în același mod: câteva întrebări.

De fapt, mă interesează mai mult întrebarea: de ce sa deteriorat dosarul meu fără un motiv evident? Și un singur fișier din cele patru implicate în acest program a fost răsfățat, celelalte trei fișiere sunt destul de normale și nu s-au deteriorat încă. Fișierul A17.txt nu sa deteriorat, unde am copiat datele din fișierul corupt A16.txt.

Dosarul nu a stricat. Pur și simplu Notepad se arăta incorect (tu în ea, de asemenea, a devenit convins, deschiderea unui fișier Wordpad "). Motivul pentru care am subliniat deja:







Motivul este comportamentul necorespunzător al funcției IsTextUnicode din WinAPI-shnoy. care este folosit de Notepad pentru a determina automat codificarea în fișiere fără BOM.

Ie dacă la începutul fișierului nu este găsit BOM Byte Order Mark (Unicode codare de caractere, proiectat pentru a indica ordinea octet), notebook-ul folosește o funcție care încearcă de octet fișier pentru a determina care codifică (Unicode sau nu) este textul în ea. Uneori (destul de rar, trebuie remarcat pentru corectitudine), ca și în cazul fișierului dvs., această funcție presupune că fișierul este codificat în Unicode, deși nu este.

Am aratat toti pasii, in fisierul salvat A76.txt, cu noua codificare ANSI, vad cateva intrebari.

Eroarea dvs. este că încercați să salvați un fișier deschis incorect în codarea ANSI. Și trebuie să o deschideți în ANSI. Ie selectați codificarea ANSI din dialogul de selectare a fișierelor ("Deschidere ca").
Deschideți Notepad, apăsați Ctrl + O (sau File Open). În caseta de dialog Open, selectați numele și codificarea ANSI, faceți clic pe Open.

De fapt, mă interesează mai mult întrebarea: de ce sa deteriorat dosarul meu fără un motiv evident? Și un singur fișier din cele patru implicate în acest program a fost răsfățat, celelalte trei fișiere sunt destul de normale și nu s-au deteriorat încă. Fișierul A17.txt nu sa deteriorat, unde am copiat datele din fișierul corupt A16.txt.

Dosarul nu a stricat. Pur și simplu Notepad se arăta incorect (tu în ea, de asemenea, a devenit convins, deschiderea unui fișier Wordpad ").


Ei bine, dosarul nu este rasfatat.
Apoi, această întrebare: programul introduce datele inițiale din acest fișier corect? Înțelege că acestea sunt niște numere, nu personaje chinezești?
Pot să verific acum, voi intra în programul de control al ecoului și voi vedea ce primește din acest fișier cu hieroglife.

Inițial, fișierul însuși a fost răsfățat singur.

Cum ai determinat asta?


Așa că am descris ceva. Am întrerupt programul și am verificat toate cele 4 fișiere cu datele originale, desigur deschizându-le în Notepad (așa cum întotdeauna am făcut). Am văzut numerele corecte în 3 fișiere, iar în al patrulea fișier am văzut hieroglifele. Okuda a luat hieroglife, dacă am scris un număr în dosar (le-am scris manual)?

Acesta este un notepad notepad, și nu orice versiune.

În măsura în care înțeleg, pe oricine. Ie în principiu, algoritmul din Vista / 7/8 nu sa schimbat în comparație cu XP și versiunile mai vechi (de când bug-ul apare încă). Doar cumva a dezactivat manifestarea pe linii scurte de text (cum ar fi "această aplicație se poate rupe" etc.). Cred că tăierea autodetectării Unicode pentru fișiere este mai mică de 128 octeți.

Inițial, fișierul însuși a fost răsfățat singur.

Dosarul nu a stricat!

Subliniez încă o dată: programul implică 4 fișiere cu datele originale, doar unul dintre ele a fost răsfățat.

Desigur, doar unul. Acest comportament ar trebui să fie o raritate, în caz contrar, Microsoft ar fi plin de mult timp plângeri.

Pentru mine, în momentul în care am aflat că dosarul a fost stricat, nu mai are sens să o deschidem corect.

Dar în zadar. Totuși, încercați și veți fi surprinsi.

Doar șterg fișierul corupt și scriu datele într-un fișier nou.

De asemenea, ce se întâmplă?

Așa că am descris ceva. Am întrerupt programul și am verificat toate cele 4 fișiere cu datele originale, desigur deschizându-le în Notepad (așa cum întotdeauna am făcut).

Deci, ați putea întâlni o eroare în Notepad. Cum ați aflat că fișierul a fost corupt și nu Notepad a fost greșit?


De ce Notepad a făcut o greșeală numai în unul din cele 4 fișiere (toate cele 4 fișiere sunt de același tip și au fost create manual)?

Am spus deja: Nu știu cine sa înșelat, dar văd că datele din fișier nu sunt afișate corect, ar trebui să existe numere și să fie afișate caractere.

Doar șterg fișierul corupt și scriu datele într-un fișier nou.

De asemenea, ce se întâmplă?


Mă faci să spun același lucru. Se pare că deja am scris că, scriind date într-un fișier nou A17.txt, lucrez încă cu acest program și cu aceste fișiere și nimic nu sa deteriorat până acum, totul funcționează bine.







Articole similare

Trimiteți-le prietenilor: