Tablora · Bibliotecă
Păstrează textul asemănător unei secvențe escape SpreadsheetML
Un text ca _x0041_ este un cod de escape în fișierele XLSX. Convertorul care păstrează textul îl protejează, ca celula să arate _x0041_, nu litera A.
Un tipar rezervat de formatul XLSX
Într-un fișier XLSX, textul poate conține coduri de forma _x urmat de patru cifre hexazecimale și o liniuță de subliniere, ca _x0041_. O foaie de calcul care citește fișierul decodează fiecare cod în caracterul pe care îl reprezintă, așa că _x0041_ devine litera mare A, iar _x000D_ devine un retur de car. E util pentru programe, dar devine o problemă când o valoare reală se întâmplă să arate ca un cod, de exemplu un identificator de sistem, un nume de câmp dintr-o bază de date sau un token dintr-un jurnal.
Convertorul care păstrează textul protejează fiecare asemenea tipar înainte să-l scrie. Adaugă în față codul de escape pentru liniuța de subliniere, care îi spune foii de calcul să afișeze literal caracterele următoare. E un pas separat de neutralizarea ampersandurilor și a parantezelor unghiulare pentru XML.
E afectată doar forma exactă: o liniuță de subliniere, x, patru caractere hexazecimale și o liniuță de subliniere de închidere. Ceva ca _x41_ sau _x0041 fără liniuța de închidere e text obișnuit în fișier și în foaia de calcul.
Exemplul _x0041_
Exemplul de pe pagină are o coloană numită code cu valoarea _x0041_. Textul așteptat al celulei în registru este _x0041_, scris ca text explicit, așa că foaia de calcul nu vede acolo nici formulă, nici număr. Când deschizi tablora-table.xlsx, celula arată cele șapte caractere pe care le-ai introdus, nu litera A.
Verificarea valorilor care seamănă cu coduri de escape
- Caută în sursă o liniuță de subliniere urmată de x și de patru caractere din intervalele 0–9 și A–F, terminate cu încă o liniuță de subliniere. Cifrele hexazecimale cu majuscule și cu minuscule sunt tratate deopotrivă drept coduri.
- Confirmă că valoarea trebuie luată literal. Dacă sursa însăși conține text codat, decodează-l în sistemul care l-a produs, nu aici.
- Lipește tabelul, apasă Calculează și verifică previzualizarea.
- Folosește Descarcă (XLSX) și compară celula din foaia de calcul cu originalul.
- Returul de car din interiorul unei celule e protejat la fel, așa că rămâne și el.
Tiparele de escape în alte exporturi
- Descărcările CSV din instrumentele din browser scriu _x0041_ ca simple caractere, pentru că CSV nu are o asemenea codare; decodarea o aplică foaia de calcul la citirea XLSX-ului.
- Exportul XLSX al aplicației Tablora neutralizează ampersandurile și parantezele, dar nu adaugă această protecție, așa că o celulă citită de pe o pagină care conține _x0041_ poate fi afișată decodată. Pentru asemenea valori, exportă CSV din aplicație sau lipește celulele aici în convertorul care păstrează textul și descarcă XLSX-ul.
- Aceste tipare sunt rare în tabelele obișnuite. Dacă dai peste unul, vine de obicei dintr-un sistem tehnic, iar păstrarea fișierului original pentru comparație merită efortul în plus.
Date de intrare
- Textul tabelului
- code _x0041_
- Delimitator
- ,
Rezultate
- Rânduri
- 2
- Coloane
- 1
| code |
|---|
| _x0041_ |
- Dimensiunea fișierului în octeți
- 2302
Fiecare celulă a foii de calcul este salvată ca text pentru a păstra identificatorii și conținutul asemănător formulelor.