Мы знаем, что конструктор класса UTF8Encoding
может получить необязательный параметр: a bool
, определяющий, должен ли кодер предоставлять знак порядка байтов (BOM) или нет.UTF8 Кодирование, не добавляющее отметку порядка байтов
Однако при кодировании один и тот же текст, используя оба подхода, выход тот же:
string text = "Hello, world!";
byte[] withBom= new UTF8Encoding(true).GetBytes(text);
byte[] withoutBom = new UTF8Encoding(false).GetBytes(text);
Оба withBom
и withoutBom
имеют одинаковое содержание, один даже не имеет один байт больше, чем другой ,
Почему это происходит? Почему знак байтового байта не добавляется к withBom
?
Большое спасибо! Вы знаете, почему нужно добавить преамбулу вручную? –
@MatiCicero 'GetBytes' может использоваться и на частичном выходе не только для всей строки. Изготовление спецификации каждый раз не поможет. – Athari
10 000 !!! Ура!!! – Athari