Запись текста без BOM

ProxyInspector 53 2 3

При попытке записать текстовый файл в кодировке UTF-8 1C добавляет в начало текста три символа BOM (Byte order mark) эти символы не видны в обычном редакторе, однако при обменах могут приводить к ошибке.

//Пример записи Строки в файл	
	Стр = "Строка для записи";
	ИмяФайла = "Текст.txt";
	
//Запись стандартными методами. Добавляет BOM. Размер файла 35 байт
	Текст = Новый ТекстовыйДокумент;
	Текст.УстановитьТекст(Стр);
	Текст.Записать(ИмяФайла, КодировкаТекста.UTF8);
	
//Запись без BOM. Размер файла 32 байта	
	ЗаписатьBOM = Ложь;
	ДвоичныеДанныеСтроки = ПолучитьДвоичныеДанныеИзСтроки(Стр, КодировкаТекста.UTF8, ЗаписатьBOM);	
	ДвоичныеДанныеСтроки.Записать(ИмяФайла);
1

Комментарии

ProxyInspector
#1, 18 октября 2023 16:05

Обычно народ пытается решить проблему BOM либо обрезанием первых трех байт из файла, либо другими не традиционными способами.
Здесь же все штатно и без заморочек.


См. также

Запись Чтение XML 2

ЗаписьЖурнала (БСП)

СоздатьЗаписьДоступныеЛицензии (БСП)

Запись документа XML иерархия

ТекстНеОпределено (БСП)

ТекстыМакетов (БСП)

Подчеркнуть текст в макете

ПолучитьОбычныйТекстИзHTML (БСП)

ЗаписатьВЖурнал (БСП)

Модератору