Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 48991|Antwoord: 3

[Bron] .NET/C# om te bepalen of een BOM-tag is opgenomen

[Link kopiëren]
Geplaatst op 16-07-2021 13:22:54 | | | |
Wat is BOM?

De byte-order mark (BOM), of byte-order mark, is een speciaal teken dat wordt ingevoegd in een Unicode-bestand dat is gecodeerd met UTF-8, UTF16 of UTF-32 om het coderingstype van een Unicode-bestand te identificeren. Voor UTF-8 is een BOM niet vereist, omdat deze wordt gebruikt om het coderingstype en bytevolgorde (big-endian of little-endian) van een meerbyte gecodeerd bestand aan te geven. In UTF-8 wordt het aantal bits dat voor elk teken wordt gecodeerd uitgedrukt door de eerste byte, en is er geen onderscheid tussen big-endian en little-endian.
UTF-8 vereist geen stuklijst, hoewel de Unicode-standaard het gebruik van stuklisten in UTF-8 toestaat. Daarom is UTF-8 zonder een BOM de standaardvorm, en het is vooral Microsofts gewoonte om een BOM in een UTF-8-bestand te plaatsen (trouwens: het is ook de gewoonte van Microsoft om UTF-16 met een BOM "Unicode" te noemen zonder in details te treden).
BOM's worden voorbereid voor UTF-16 en UTF-32 om bytevolgorde te markeren. Microsoft gebruikt BOM in UTF-8 omdat dit een duidelijk onderscheid maakt tussen UTF-8 en ASCII-codering, anders kan het openen van een CSV-bestand in Excel onhandig zijn. Maar zo'n bestand kan problemen veroorzaken in besturingssystemen anders dan Windows.
Het verschil tussen "UTF-8" en "UTF-8 met BOM" is of er een BOM is of niet. Dat wil zeggen, of er een U+FEFF aan het begin van het bestand staat.
UTF-8 webcode mag geen BOM's gebruiken, anders komen fouten vaak voor. Bij het invoeren van een CSV-bestand vanuit HTTP-antwoord wordt het standaard niet meegenomen wanneer het is ingesteld op utf8
BOM, maar Windows Excel gebruikt BOM om UTF8-codering te bevestigen, en allemaal moeten BOM aan het begin van het bestand worden geschreven.



Wanneer je voor het eerst een Java-codegenerator ontwikkelt, plaats je het bestand directSchrijf naar een UTF-8-bestand dat de BOM-tag bevatDit leidt tot verpakkingsfouten, als volgt:

Illegale karakters: '\ufeff'


Hoe gebruik ik .NET / C# om te bepalen of een bestand BOM-tags bevat? , de code is als volgt:





Collega's, bijgevoegdZet het UTF-8 BOM-formaat om naar het UTF-8 (zonder BOM-tags) formaat, de volledige code is als volgt:

(Einde)

Partituur

Aantal deelnemers1MB+1 bijdragen+1 Instorting reden
Mo Feng 123 + 1 + 1 Heel krachtig!

Bekijk alle beoordelingen





Vorig:SQL SERVER verwijdert de verwijder-partitiefunctie en partitieschema
Volgend:De ruimtevoetafdruk van elke tabel in de SQL Server-database
Geplaatst op 16-07-2021 22:41:40 |
 Huisbaas| Geplaatst op 01-11-2024 15:00:47 |
UTF-8 verwijdert de BOM-tag

 Huisbaas| Geplaatst op 25-06-2025 16:13:03 |
UTF-8 schrijft niet naar de stuklijst
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com