Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 48991|Отговор: 3

[Източник] .NET/C#, за да определи дали е включен BOM таг

[Копирай линк]
Публикувано в 16.07.2021 г. 13:22:54 ч. | | | |
Какво е BOM?

Знакът за байтов ред (BOM), или знак за байтов ред, е специален знак, който се вмъква в Unicode файл, кодиран с UTF-8, UTF16 или UTF-32, за идентифициране на типа кодиране на Unicode файл. За UTF-8 BOM не е необходим, тъй като се използва за маркиране на типа кодиране и реда на байтовете (big-endian или little-endian) на многобайтов кодиран файл. В UTF-8 броят на битовете, кодирани за всеки символ, се изразява чрез първия байт и няма разлика между big-endian и little-endian.
UTF-8 не изисква BOM, въпреки че стандартът Unicode позволява използването на BOM в UTF-8. Затова UTF-8 без BOM е стандартната форма и основно е навик на Microsoft да поставя BOM в UTF-8 файл (между другото: това е и навик на Microsoft да нарича UTF-16 с BOM "Unicode" без да навлиза в подробности).
BOM се подготвят за UTF-16 и UTF-32 за маркиране на реда на байтовете. Microsoft използва BOM в UTF-8, защото позволява ясно разграничение между UTF-8 и ASCII кодиране, в противен случай отварянето на CSV файл в Excel може да бъде объркано. Но такъв файл може да причини проблеми в операционни системи, различни от Windows.
Разликата между "UTF-8" и "UTF-8 с BOM" е дали има BOM или не. Тоест, дали има U+FEFF в началото на файла.
Уеб кодът на UTF-8 не трябва да използва BOM, в противен случай грешките са чести. Когато се извежда CSV файл от http отговор, той по подразбиране не се включва, когато е настроен на utf8
BOM, но Windows Excel използва BOM, за да потвърди кодирането на UTF8, и всички трябва да записват BOM в началото на файла.



Когато за първи път разработвате генератор на Java код, ще поставите файла директноЗапиши в UTF-8 файл, който съдържа BOM тагТова ще доведе до грешки при опаковането, както следва:

Незаконни знаци: '\ufeff'


Как да използвам .NET / C#, за да определя дали даден файл съдържа BOM тагове? , кодът е следният:





Колеги, прикачениКонвертира формата UTF-8 BOM в UTF-8 (без BOM тагове), пълният код е следният:

(Край)

Резултат

Брой участници1MB+1 допринасям+1 Срив причина
Мо Фън 123 + 1 + 1 Много мощно!

Вижте всички оценки





Предишен:SQL SERVER премахва функцията за изтриване на дял и схемата за дялове
Следващ:Пространственият отпечатък на всяка таблица в базата данни SQL Server
Публикувано в 16.07.2021 г. 22:41:40 ч. |
 Хазяин| Публикувано в 1.11.2024 г. 15:00:47 ч. |
UTF-8 премахва етикета BOM

 Хазяин| Публикувано в 25.06.2025 г. 16:13:03 ч. |
UTF-8 не записва към BOM
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com