1с сохранить в unicode
Вот собственно говоря само решение:
ЗТ = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
ЗТ.Закрыть();
ЗТ = Новый ЗаписьТекста(ИмяФайла. Истина, Символы.ПС);
ЗТ.Записать(Данные);
ЗТ.Закрыть();
Специальные предложения
Не нравится оформление публикации не смотри.
Ты точно utf с ansi не попутал? минус заслуженный, лучше бы решение с base64 привел.
p.s.: Пользователи любых других национальных языков просто в восторге, от такого фигового решения.
Для совсем непонятливых: ВОМ это 3 символа, которые добавляются в начало файла для автоматического определения кодировки.
P.S. "Тыкать" можете своим друзьям, а здесь этого не надо делать.
p.s.: это интернет, могут и послать.
(6) pumbaE, 1. В моем алгоритме НЕТ вообще нет преобразований кодировок! Прочитайте документацию по языку программирования 1С. Суть алгоритма в том, что сначала создается пустой файл в кодировке ANSI, который не содержит ВОМ, а затем к нему дописываются данные в кодировке UTF-8. Это происходит без каких-либо преобразований. Естественно, при дописывании данных ВОМ не пишется.
2. Это реально работает, сам давно использую. Прежде чем писать всякую чушь, надо было хотя бы разобраться или проверить.
3. Алгоритм с отрезанием ВОМ однозначно является более громоздким и ресурсоемким.
Ох уж эти вечные проблемы с кодировкой…
Долго искал в инете как преобразователь Unicod. Потом все таки сам написал функцию.
Параметры:
(обязательный)
Тип: Строка.
Исходная строка.
Возвращаемое значение:
Тип: Строка.
Строка обработанных символов.
Описание:
Возвращает преобразованную строку из формата Unicod.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Специальные предложения
Ох уж эти вечные проблемы с кодировкой…
Долго искал в инете как преобразователь Unicod. Потом все таки сам написал функцию.
Записать текстовый документ в кодировке Юникод, а потом его прочитать в кодировке Анси? Мне кажется, что следующий код будет работать побыстрее спасибо, хороший пример, только жалко с русскими символами нет
Вот вариант с русскими буквами. Вдруг кому-то понадобиться :)
Danil174; creatermc; KatrinNight; AKZARD; PASAHAKA; AskezaMax; itc_Geo; + 7 – ОтветитьВо народ жжот ))))
Удаление зубов через противоположный проход - это круто (наверно)!
Если "напрямую", можно так:
(10) Buben-128, Статья писалась когда в платформе не было полноценной реализации JSON. Если ваш код рабочий, он намного эффективней и проще.А как наоброт получить строку с символами юникода такого типа:
\u0421\u043a\u0438\u0434\u043a\u0430 \u043e\u0442 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u041f\u041fПросмотры 24243
Загрузки 0
Рейтинг 25
Создание 03.07.12 13:23
Обновление 03.07.12 13:23
№ Публикации 142092
Тип файла Нет файла
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Не указано
Курс представляет собой отработанные и проверенные личным опытом основателей Школы инструменты решения вопросов с подчиненными, коллегами, заказчиком и руководством.См. также
Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо
В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.
12.12.2020 4561 Eugen-S 23
СКД: 5 советов, как сделать лучше
Несколько примеров решения задач с использованием разных подходов
27.10.2021 4479 Neti 19
Что за ? в коде, или Секретный оператор в 1С
Инкремент, модуль и прочая магия, которая скрыта под символом "?"
21.10.2021 8371 SeiOkami 41
Полезные примеры СКД, ч.2
Еще несколько примеров решения задач в СКД.
06.04.2021 10876 Neti 8
27.01.2016 85840 Serginio 116
Обзор полезных методов БСП 3.1.4
Библиотека стандартных подсистем (далее - БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.
25.03.2021 41424 rayastar 51
Звуковое управление в 1С 8.3
В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.
16.03.2021 7228 velemir 33
Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions
"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.
28.12.2020 8963 comol 31
Использование программных перечислений, ч.1: строковые константы Промо
Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?
10.12.2016 41158 unichkin 74
Базовые вещи БСП, которые облегчат жизнь программисту 1С
В данной публикации я опишу полезные процедуры и функции модуля общего назначения библиотеки стандартных подсистем, обязательные к использованию любым программистом 1С.
30.08.2020 20393 quazare 34
[Общий модуль] Динамическое формирование интерфейса
Версия 2.0.0.1 + добавил GitHub
28.08.2020 13073 rpgshnik 74
Форма выбора (подбор) в управляемых формах
Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.
08.05.2020 79487 user5300 19
Вспомогательные инструкции в коде 1С Промо
Помогаем редактору кода 1С помогать нам писать и анализировать код.
15.10.2018 36203 tormozit 106
Программная работа с настройками СКД
Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.
27.01.2020 66212 ids79 26
[СКД] Программное создание схемы компоновки данных
Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".
15.01.2020 43929 John_d 22
Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения
30.12.2019 35639 kuzyara 38
Оформление и рефакторинг сложных логических выражений Промо
В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.
20.09.2012 82911 tormozit 131
Сходство Джаро - Винклера. Нечеткое сравнение строк
В области информатики и статистики сходство Джаро - Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.
25.12.2019 8466 brooho 19
22.11.2019 12435 Sibars 19
Полезные процедуры и функции для программиста
Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.
07.10.2019 39861 HostHost 41
Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо
Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.
11.07.2007 54515 tormozit 51
Таблица значений. Нюансы
Обзор некоторых аспектов использования общеизвестного инструмента 1С.
01.10.2019 53340 Yashazz 56
[Шпаргалка] Программное создание элементов формы
Программное создание практически всех популярных элементов формы.
06.09.2019 103330 rpgshnik 75
Агрегатные функции СКД, о которых мало кто знает
Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.
05.09.2019 78174 ids79 56
Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо
Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки
10.09.2017 51286 tormozit 74
Регистры бухгалтерии. Общая информация
Общая информация о внутреннем устройстве регистров бухгалтерии.
05.09.2019 46879 YPermitin 25
Три костыля. Сказ про фокусы в коде
Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.
03.09.2019 30254 YPermitin 81
Иерархия без "В ИЕРАРХИИ"
22.08.2019 15104 ildarovich 24
Выгрузка документа по условию Промо
Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.
25.04.2019 18048 m-rv 3
Отслеживание выполнения фонового задания
Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.
17.08.2019 45367 ids79 22
Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив
Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.
08.08.2019 153393 ids79 75
Фоновое выполнение кода в 1С - это просто
Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.
02.08.2019 61140 avalakh 27
Как прикрутить ГУИД к регистру сведений Промо
. и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.
16.04.2019 23373 m-rv 18
Разбираемся с параметрами редактирования СКД
Связь по типу, Параметры выбора, Связи параметров выбора
31.07.2019 42107 json 17
СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты
Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.
26.07.2019 106325 ids79 17
Обработчики событий при записи объектов. Зачем и что за чем?
Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.
ЮниКод = КодСимвола ( ТекСимв );
Если ЮниКод < 128 Тогда
Результат = Результат + "%" + Dec_to_Hex ( ЮниКод , ПредставлениеHex );
Иначе
ИндексЮникод = 32 ;
Байт = 8 ;
ХексКод = "" ;
Пока ИндексЮникод > 4 Цикл
// установка следующих за первым байтов
ТекБайт = ЮниКод % 64 ;
ХексКод = "%" + Dec_to_Hex ( 128 + ТекБайт , ПредставлениеHex ) + ХексКод ;
ЮниКод = Цел ( ЮниКод / 64 );
// проверка на закрывающий байт
Если ЮниКод < ИндексЮникод Тогда
ХексКод = "%" + Dec_to_Hex (( Байт - 2 ) * ИндексЮникод + ЮниКод , ПредставлениеHex ) + ХексКод ;
Прервать;
КонецЕсли;
// переход к следующему уровню закрытия
ИндексЮникод = ИндексЮникод / 2 ;
Байт = Байт * 2 ;
КонецЦикла;
Результат = Результат + ХексКод ;
КонецЕсли;
КонецЦикла;
Возврат Результат ;
КонецФункции
пHex = "0123456789ABCDEF" ;
Результат = "" ;
Для СимвЧисло = 1 По Разрядность Цикл
ТекЧисло = пDec % 16 ;
пDec = Цел ( пDec / 16 );
Результат = Сред ( пHex , ТекЧисло + 1 , 1 ) + Результат ;
КонецЦикла;
Функция ПереводТекстаUnicodeToUTF8 ( СтрокаДляКодировки )
Для а = 1 По СтрДлина ( СтрокаДляКодировки ) Цикл
ТекСимв = Сред ( СтрокаДляКодировки , а , 1 );
Если ТекСимв = " " Тогда
Результат = Результат + "+" ;
Продолжить;
КонецЕсли;
Если Найти ( СимволыДляИсключения , ТекСимв ) > 0 Тогда
Результат = Результат + ТекСимв ;
Продолжить;
КонецЕсли;
ЮниКод = КодСимвола ( ТекСимв );
Если ЮниКод < 128 Тогда
Результат = Результат + "%" + Dec_to_Hex ( ЮниКод );
Иначе
ИндексЮникод = 32 ;
Байт = 8 ;
ХексКод = "" ;
Пока ИндексЮникод > 4 Цикл
// установка следующих за первым байтов
ТекБайт = ЮниКод % 64 ;
ХексКод = "%" + Dec_to_Hex ( 128 + ТекБайт ) + ХексКод ;
ЮниКод = Цел ( ЮниКод / 64 );
// проверка на закрывающий байт
Если ЮниКод < ИндексЮникод Тогда
ХексКод = "%" + Dec_to_Hex (( Байт - 2 ) * ИндексЮникод + ЮниКод ) + ХексКод ;
Прервать;
КонецЕсли;
// переход к следующему уровню закрытия
ИндексЮникод = ИндексЮникод / 2 ;
Байт = Байт * 2 ;
КонецЦикла;
Результат = Результат + ХексКод ;
КонецЕсли;
КонецЦикла;
Текстовый файл сохраняемый как UTF-8 с сигнатуры BOM в начале имеет 3 байта с значениями: EF, BB, BF. Сигнатура BOM - метка порядка байтов (Byte Order Mark, BOM). Часто, BOM называют сигнатурой (соответственно, UTF-8 и UTF-8 with Signature). Признак BOM определяет, является ли файл закодированным в UTF-8. Не все программы могут корректно работать с файлами с сигнатуры BOM.
Разместил: E_Migachev Версии: | 8.x | Дата: 19.04.2013 Прочитано: 17511
Похожие FAQ
1C и Google Maps 20
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Быстрый перенос списка баз с одного компьютера на другой 0
Для 8.1 : 1. Список баз 8.1 можно сохранять в файл.Для этого правой кнопкой мыши по корневому элементу " Информационные базы " , далее " Сохранить ссылку в файл " . 2. Получаем файл с расширением v8i , это текстовый файл в кодировке UTF-8. Ес Внешние источники данных 0
Почему данная возможность вызывает такой интерес? Любой человек, который программировал в 1С при этом достаточно неплохо знаком с SQL и хотя бы в общих чертах знаком с архитектурой и принципами разработки других технологических платформ для бизнес пр Выгрузка / Загрузка данных посредством текстовых (TXT) файлов 5
Для работы с текстовыми документами существуют три типа данных – ТекстовыйДокумент, ЗаписьТекста и ЧтениеТекста . Разница двух подходов состоит в способе загрузки документа: ТекстовыйДокумент загружает файл целиком и далее построчно обрабатывает е Посмотреть все результаты поиска похожих
Еще в этой же категории
Читайте также: