Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 48991|Răspunde: 3

[Sursă] .NET/C# pentru a determina dacă este inclusă o etichetă BOM

[Copiază linkul]
Postat pe 16.07.2021 13:22:54 | | | |
Ce este BOM?

Marca de ordinea octeților (BOM), sau marca de ordinea octeților, este o marcă specială inserată într-un fișier Unicode codificat cu UTF-8, UTF16 sau UTF-32 pentru a identifica tipul de codare al unui fișier Unicode. Pentru UTF-8, nu este necesară o BOM, deoarece este folosită pentru a marca tipul de codare și ordinea octeților (big-endian sau little-endian) a unui fișier codificat pe mai mulți octeți. În UTF-8, numărul de biți codificați pentru fiecare caracter este exprimat prin primul octet, iar între big-endian și little-endian nu există distincție între big-endian și little-endian.
UTF-8 nu necesită o listă de bază, deși standardul Unicode permite utilizarea unor liste de referințe în UTF-8. Prin urmare, UTF-8 fără BOM este forma standard, iar obiceiul Microsoft este în principal să plaseze un BOM într-un fișier UTF-8 (apropo: este și obiceiul Microsoft să numească UTF-16 cu un BOM "Unicode" fără a intra în detalii).
Cadrele de bază sunt pregătite pentru UTF-16 și UTF-32 pentru a marca ordinea octeților. Microsoft folosește BOM în UTF-8 deoarece permite o distincție clară între codarea UTF-8 și ASCII, altfel deschiderea unui fișier CSV în Excel poate fi distorsionată. Dar un astfel de fișier poate cauza probleme în alte sisteme de operare decât Windows.
Diferența dintre "UTF-8" și "UTF-8 cu BOM" constă în existența unui BOM sau nu. Adică, dacă există un U+FEFF la începutul fișierului.
Codul web UTF-8 nu ar trebui să folosească bazele de bază, altfel erorile sunt frecvente. Când se emite un fișier CSV din răspunsul http, acesta nu este inclus implicit când este setat pe utf8
BOM, dar Windows Excel folosește BOM pentru a confirma codarea UTF8, iar toate trebuie să scrie BOM la începutul fișierului.



Când dezvolți pentru prima dată un generator de cod Java, vei pune fișierul directScrie într-un fișier UTF-8 care conține eticheta BOMAcest lucru va duce la erori de ambalare, după cum urmează:

Personaje ilegale: '\ufeff'


Cum folosesc .NET / C# pentru a determina dacă un fișier conține etichete BOM? , codul este următorul:





Colegi, atașațiConvertește formatul UTF-8 BOM în formatul UTF-8 (fără etichete BOM), codul complet este următorul:

(Sfârșit)

Scor

Numărul participanților1MB+1 Contribui+1 Colaps rațiune
Mo Feng 123 + 1 + 1 Foarte puternic!

Vezi toate ratingurile





Precedent:SQL SERVER elimină funcția de ștergere a partițiilor și schema de partiții
Următor:Amprenta spațială a fiecărui tabel în baza de date SQL Server
Postat pe 16.07.2021 22:41:40 |
 Proprietarul| Postat pe 01.11.2024 15:00:47 |
UTF-8 elimină eticheta BOM

 Proprietarul| Postat pe 25.06.2025 16:13:03 |
UTF-8 nu scrie în BOM
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com