Записывает символы заданной строки в целевой поток.
Синтаксис
ЗаписатьСимволы(<Строка>, <КодировкаТекста>)Полное описание, параметры и ограничения
ЗаписьДанных.ЗаписатьСимволы (DataWriter.WriteChars)
ЗаписьДанных (DataWriter)
ЗаписатьСимволы (WriteChars)
Доступен, начиная с версии 8.3.9.
Синтаксис:
ЗаписатьСимволы(<Строка>, <КодировкаТекста>)
Параметры:
<Строка> (обязательный)
Тип: Строка.
Строка, символы которой будут записаны в поток.
<КодировкаТекста> (необязательный)
Тип: КодировкаТекста, Строка.
Определяет кодировку текста для записи строки. Если не установлена, используется кодировка, заданная для данного объекта ЗаписьДанных.
Кодировка может быть задана как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
Adobe-Standard-Encoding - не поддерживается в веб-клиенте,
Big5 - не поддерживается в веб-клиенте,
Big5-HKSCS - не поддерживается в веб-клиенте,
BOCU-1 - не поддерживается в веб-клиенте,
CESU-8 - не поддерживается в веб-клиенте,
cp1006 - не поддерживается в веб-клиенте,
cp1025 - не поддерживается в веб-клиенте,
cp1097 - не поддерживается в веб-клиенте,
cp1098 - не поддерживается в веб-клиенте,
cp1112 - не поддерживается в веб-клиенте,
cp1122 - не поддерживается в веб-клиенте,
cp1123 - не поддерживается в веб-клиенте,
cp1124 - не поддерживается в веб-клиенте,
cp1125 - не поддерживается в веб-клиенте,
cp1131 - не поддерживается в веб-клиенте,
cp1386 - не поддерживается в веб-клиенте,
cp33722 - не поддерживается в веб-клиенте,
cp437 - не поддерживается в веб-клиенте,
cp737 - не поддерживается в веб-клиенте,
cp775 - не поддерживается в веб-клиенте,
cp850 - не поддерживается в веб-клиенте,
cp851 - не поддерживается в веб-клиенте,
cp852 - не поддерживается в веб-клиенте,
cp855 - не поддерживается в веб-клиенте,
cp856 - не поддерживается в веб-клиенте,
cp857 - не поддерживается в веб-клиенте,
cp858 - не поддерживается в веб-клиенте,
cp860 - не поддерживается в веб-клиенте,
cp861 - не поддерживается в веб-клиенте,
cp862 - не поддерживается в веб-клиенте,
cp863 - не поддерживается в веб-клиенте,
cp864 - не поддерживается в веб-клиенте,
cp865 - не поддерживается в веб-клиенте,
cp866 - не поддерживается в веб-клиенте,
CP868 - не поддерживается в веб-клиенте,
cp869 - не поддерживается в веб-клиенте,
cp874
cp875 - не поддерживается в веб-клиенте,
cp922 - не поддерживается в веб-клиенте,
cp930 - не поддерживается в веб-клиенте,
cp932 - не поддерживается в веб-клиенте,
cp933 - не поддерживается в веб-клиенте,
cp935 - не поддерживается в веб-клиенте,
cp937 - не поддерживается в веб-клиенте,
cp939 - не поддерживается в веб-клиенте,
cp949 - не поддерживается в веб-клиенте,
cp949c - не поддерживается в веб-клиенте,
cp950 - не поддерживается в веб-клиенте,
cp964 - не поддерживается в веб-клиенте,
ebcdic-ar - не поддерживается в веб-клиенте,
ebcdic-de - не поддерживается в веб-клиенте,
ebcdic-dk - не поддерживается в веб-клиенте,
ebcdic-he - не поддерживается в веб-клиенте,
ebcdic-xml-us - не поддерживается в веб-клиенте.
EUC-JP - не поддерживается в веб-клиенте,
EUC-KR - не поддерживается в веб-клиенте,
GB_2312-80 - не поддерживается в веб-клиенте,
gb18030 - не поддерживается в веб-клиенте,
GB2312 - не поддерживается в веб-клиенте,
GBK - не поддерживается в веб-клиенте,
hp-roman8 - не поддерживается в веб-клиенте,
HZ-GB-2312 - не поддерживается в веб-клиенте,
ibm-1047_P100-1995,swaplfnl - не поддерживается в веб-клиенте,
ibm-1129 - не поддерживается в веб-клиенте,
ibm-1130 - не поддерживается в веб-клиенте,
ibm-1132 - не поддерживается в веб-клиенте,
ibm-1133 - не поддерживается в веб-клиенте,
ibm-1137 - не поддерживается в веб-клиенте,
ibm-1140_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1142_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1143_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1144_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1145_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1146_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1147_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1148_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1149_P100-1997,swaplfnl - не поддерживается в веб-клиенте,
ibm-1153 - не поддерживается в веб-клиенте,
ibm-1153_P100-1999,swaplfnl - не поддерживается в веб-клиенте,
ibm-1154 - не поддерживается в веб-клиенте,
ibm-1155 - не поддерживается в веб-клиенте,
ibm-1156 - не поддерживается в веб-клиенте,
ibm-1157 - не поддерживается в веб-клиенте,
ibm-1158 - не поддерживается в веб-клиенте,
ibm-1160 - не поддерживается в веб-клиенте,
ibm-1162 - не поддерживается в веб-клиенте,
ibm-1164 - не поддерживается в веб-клиенте,
ibm-12712_P100-1998,swaplfnl - не поддерживается в веб-клиенте,
ibm-1363 - не поддерживается в веб-клиенте,
ibm-1364 - не поддерживается в веб-клиенте,
ibm-1371 - не поддерживается в веб-клиенте,
ibm-1388 - не поддерживается в веб-клиенте,
ibm-1390 - не поддерживается в веб-клиенте,
ibm-1399 - не поддерживается в веб-клиенте,
ibm-16684 - не поддерживается в веб-клиенте,
ibm-16804_X110-1999,swaplfnl - не поддерживается в веб-клиенте,
ibm-37_P100-1995,swaplfnl - не поддерживается в веб-клиенте,
ibm-4899 - не поддерживается в веб-клиенте,
ibm-4909 - не поддерживается в веб-клиенте,
ibm-4971 - не поддерживается в веб-клиенте,
ibm-5123 - не поддерживается в веб-клиенте,
ibm-803 - не поддерживается в веб-клиенте,
ibm-8482 - не поддерживается в веб-клиенте,
ibm-867 - не поддерживается в веб-клиенте,
ibm-901 - не поддерживается в веб-клиенте,
ibm-902 - не поддерживается в веб-клиенте,
ibm-971 - не поддерживается в веб-клиенте,
IBM-Thai - не поддерживается в веб-клиенте,
IBM01140 - не поддерживается в веб-клиенте,
IBM01141 - не поддерживается в веб-клиенте,
IBM01142 - не поддерживается в веб-клиенте,
IBM01143 - не поддерживается в веб-клиенте,
IBM01144 - не поддерживается в веб-клиенте,
IBM01145 - не поддерживается в веб-клиенте,
IBM01146 - не поддерживается в веб-клиенте,
IBM01147 - не поддерживается в веб-клиенте,
IBM01148 - не поддерживается в веб-клиенте,
IBM01149 - не поддерживается в веб-клиенте,
IBM037 - не поддерживается в веб-клиенте,
IBM1026 - не поддерживается в веб-клиенте,
IBM1047 - не поддерживается в веб-клиенте,
IBM278 - не поддерживается в веб-клиенте,
IBM280 - не поддерживается в веб-клиенте,
IBM284 - не поддерживается в веб-клиенте,
IBM285 - не поддерживается в веб-клиенте,
IBM290 - не поддерживается в веб-клиенте,
IBM297 - не поддерживается в веб-клиенте,
IBM367 ,
IBM420 - не поддерживается в веб-клиенте,
IBM424 - не поддерживается в веб-клиенте,
IBM500 - не поддерживается в веб-клиенте,
IBM870 - не поддерживается в веб-клиенте,
IBM871 - не поддерживается в веб-клиенте,
IBM918 - не поддерживается в веб-клиенте,
IMAP-mailbox-name - не поддерживается в веб-клиенте,
ISO_2022,locale=ja,version=3 - не поддерживается в веб-клиенте,
ISO_2022,locale=ja,version=4 - не поддерживается в веб-клиенте,
ISO_2022,locale=ko,version=1 - не поддерживается в веб-клиенте,
ISO-2022-CN - не поддерживается в веб-клиенте,
ISO-2022-CN-EXT - не поддерживается в веб-клиенте,
ISO-2022-JP - не поддерживается в веб-клиенте,
ISO-2022-JP-2 - не поддерживается в веб-клиенте,
ISO-2022-KR - не поддерживается в веб-клиенте,
ISO-8859-1 ,
iso-8859-13 ,
iso-8859-15 ,
iso-8859-2 ,
iso-8859-3 ,
iso-8859-4 ,
iso-8859-5 ,
iso-8859-6 ,
iso-8859-7 ,
iso-8859-8 ,
iso-8859-9 ,
JIS_Encoding - не поддерживается в веб-клиенте,
KOI8-R ,
KOI8-U ,
KSC_5601 - не поддерживается в веб-клиенте,
LMBCS-1 - не поддерживается в веб-клиенте,
LMBCS-11 - не поддерживается в веб-клиенте,
LMBCS-16 - не поддерживается в веб-клиенте,
LMBCS-17 - не поддерживается в веб-клиенте,
LMBCS-18 - не поддерживается в веб-клиенте,
LMBCS-19 - не поддерживается в веб-клиенте,
LMBCS-2 - не поддерживается в веб-клиенте,
LMBCS-3 - не поддерживается в веб-клиенте,
LMBCS-4 - не поддерживается в веб-клиенте,
LMBCS-5 - не поддерживается в веб-клиенте,
LMBCS-6 - не поддерживается в веб-клиенте,
LMBCS-8 - не поддерживается в веб-клиенте,
macintosh ,
SCSU - не поддерживается в веб-клиенте,
Shift_JIS - не поддерживается в веб-клиенте,
UTF-16 ,
UTF-16BE ,
UTF-16LE ,
UTF-32 - не поддерживается в веб-клиенте,
UTF-32BE - не поддерживается в веб-клиенте,
UTF-32LE - не поддерживается в веб-клиенте,
UTF-7 - не поддерживается в веб-клиенте,
UTF-8 ,
UTF16_OppositeEndian - не поддерживается в веб-клиенте,
UTF16_PlatformEndian - не поддерживается в веб-клиенте,
UTF32_OppositeEndian - не поддерживается в веб-клиенте,
UTF32_PlatformEndian - не поддерживается в веб-клиенте,
windows-1250 - не поддерживается в веб-клиенте,
windows-1251 ,
windows-1252 ,
windows-1253 ,
windows-1254 ,
windows-1255 ,
windows-1256 ,
windows-1257 ,
windows-1258 ,
windows-57002 - не поддерживается в веб-клиенте,
windows-57003 - не поддерживается в веб-клиенте,
windows-57004 - не поддерживается в веб-клиенте,
windows-57005 - не поддерживается в веб-клиенте,
windows-57007 - не поддерживается в веб-клиенте,
windows-57008 - не поддерживается в веб-клиенте,
windows-57009 - не поддерживается в веб-клиенте,
windows-57010 - не поддерживается в веб-клиенте,
windows-57011 - не поддерживается в веб-клиенте,
windows-874 - не поддерживается в веб-клиенте,
windows-949 - не поддерживается в веб-клиенте,
windows-950 - не поддерживается в веб-клиенте,
x-mac-centraleurroman - не поддерживается в веб-клиенте,
x-mac-cyrillic ,
x-mac-greek - не поддерживается в веб-клиенте,
x-mac-turkish - не поддерживается в веб-клиенте,
Значение по умолчанию: Неопределено.
Описание:
Записывает символы заданной строки в целевой поток.
Доступность:
Тонкий клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
При записи символы ПС заменяются на строку, заданную параметром &КонвертируемыйРазделительСтрок конструктора объекта.
См. также:
ЗаписьДанных, метод НачатьЗаписьСимволов
ЗаписьДанных, метод ЗаписатьСимволыАсинх
Использование в версии:
Доступен, начиная с версии 8.3.9.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Отличить запись символов от записи строки с разделителем
Создаём в памяти текст Книга/Ручка в UTF-8. У строки есть завершающий перевод строки; у простого набора символов его нет.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу. Фрагмент без директив вставьте в тело серверной процедуры ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Все исходные байты создаются самим примером в памяти. Файлы, сеть, справочники и документы не нужны.
Запускайте задачи отдельно. После закрытия ЧтениеДанных/ЗаписьДанных не используйте этот экземпляр повторно.
Поток = Новый ПотокВПамяти;
Запись = Новый ЗаписьДанных(Поток, КодировкаТекста.UTF8, , Символы.ПС, Символы.ВК + Символы.ПС, Ложь);
Попытка
Сообщить(Запись.КодировкаТекста = КодировкаТекста.UTF8);
Сообщить(Запись.РазделительСтрок = Символы.ПС);
Сообщить(Запись.КонвертируемыйРазделительСтрок = Символы.ВК + Символы.ПС);
Запись.ЗаписатьСимволы("Книга" + Символы.ПС);
Запись.ЗаписатьСтроку("Ручка");
Исключение
Запись.Закрыть();
Поток.Закрыть();
ВызватьИсключение;
КонецПопытки;
Запись.Закрыть();
Данные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
СыройТекст = ПолучитьСтрокуИзДвоичныхДанных(Данные, КодировкаТекста.UTF8);
Сообщить(СыройТекст = "Книга" + Символы.ВК + Символы.ПС + "Ручка" + Символы.ПС);
Чтение = Новый ЧтениеДанных(Данные, КодировкаТекста.UTF8, , , Символы.ВК + Символы.ПС);
Попытка
Сообщить(Чтение.КодировкаТекста = КодировкаТекста.UTF8);
Сообщить(Чтение.КонвертируемыйРазделительСтрок = Символы.ВК + Символы.ПС);
Нормализованный = Чтение.ПрочитатьСимволы();
Сообщить(Нормализованный = "Книга" + Символы.ПС + "Ручка" + Символы.ПС);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
ЧтениеСтрок = Новый ЧтениеДанных(Данные, КодировкаТекста.UTF8);
Попытка
Сообщить(ЧтениеСтрок.ПрочитатьСтроку() = "Книга");
Сообщить(ЧтениеСтрок.ПрочитатьСтроку() = "Ручка");
Исключение
ЧтениеСтрок.Закрыть();
ВызватьИсключение;
КонецПопытки;
ЧтениеСтрок.Закрыть();Разбор по шагам
В конструкторе ЗаписьДанных явно указаны кодировка UTF-8, разделитель для ЗаписатьСтроку ПС, конвертируемый разделитель ВК+ПС и отсутствие BOM.
ЗаписатьСимволы не добавляет разделитель, но содержащийся в переданном тексте ПС конвертируется в ВК+ПС.
ЗаписатьСтроку записывает текст и добавляет РазделительСтрок. Поэтому после Ручка будет один ПС.
ПрочитатьСимволы нормализует ВК+ПС обратно в ПС; полученную строку проверяем целиком.
Для построчного чтения создаём новый экземпляр с начала данных. ПрочитатьСтроку возвращает текст без завершающего разделителя.
Как проверить результат
Сырые данные содержат Книга + ВК+ПС + Ручка + ПС; после нормализации оба разделителя — ПС.
Два построчных вызова возвращают Книга и Ручка; все сравнения Истина.
Ожидаемый результат
Показано, где возникают разделители и как нормализация влияет на текст.
На что обратить внимание
ЗаписатьСимволы — не побайтовая запись: преобразование переводов строк предусмотрено API.
Позиция чтения продвигается. Для повторного разбора от начала создаём новый ЧтениеДанных.
Для точного двоичного формата передавайте ДвоичныеДанные/БуферДвоичныхДанных, а не текст с неявной конвертацией.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.