Кодирование строки из Unicode в UTF-8

25.02.19

Интеграция - WEB-интеграция

Мой вариант обработки не использует никаких внешних компонент, при этом кодирование учитывает полную спецификацию UTF-8. Таким образом, в отличие от представленных здесь аналогов, можно преобразовывать не только кириллицу, а любой текст в юникоде.

Скачать исходный код

Наименование Файл Версия Размер
Строка из Unicode в UTF-8 (быстрое Dec->Hex)
.epf 7,18Kb
146
.epf 7,18Kb 146 Скачать
Строка из Unicode в UTF-8
.epf 6,75Kb
47
.epf 6,75Kb 47 Скачать

В поисках решения проблемы передачи в POST/GET-запросы не-ASCII текста из 1С, так и не смог найти универсальной и алгоритмически красивой версии. Поэтому скромно представляю на ваш суд свой вариант.

upd: Изменил способ конвертации Dec->Hex, в результате прирост скорости около 60%.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16124    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18231    10    15    

16

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

25200 руб.

28.05.2015    85498    26    51    

50

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    13019    33    8    

12

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16657    43    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pbazeliuk 1962 30.01.13 20:12 Сейчас в теме
Осталось только оптимизировать, подозреваю что не такая уж и быстрая конвертация.

А неразрывный пробел правильно отработается? Код символа - 160.
2. Windsor77 14 30.01.13 23:46 Сейчас в теме
Ну не знаю, конечно. Не успел ещё замер производительности сделать, в ближайшее время хочется сравнить.

Поскольку 1С-ка выдаёт настоящий код символа в Юникоде, а исключения из кодируемых составляют только указанные в спецификации символы (пробел, кстати, можно и исключить, но ведь стандарт подразумевает отображение в виде "+") - т.е. буквы латиницы, цифры и несколько знаков - остальные символы переводятся именно в соответствии с алгоритмом, суть которого примерно та же, что и Base64. Поэтому и неразрывный пробел должен совпасть. Вы не проверяли?
3. Windsor77 14 31.01.13 01:00 Сейчас в теме
Замер производительности показал, что 40-45% времени пожирает конвертер dec->hex...
4. ksb 31.01.13 07:26 Сейчас в теме
Подскажите несведущим чем Unicode отличается от UTF-8
поему у них обоих ведь 2 байта на символ, что позволяет закодировать все вариации
5. andrewks 1370 31.01.13 07:45 Сейчас в теме
(4) ksb, в юникод - 2 байта на символ. в utf-8 - от 1 и выше байт на символ (английские - 1, русские - 2, азиатские вообще по 3-4 занимают)
Windsor77; +1 Ответить
6. ksb 31.01.13 09:12 Сейчас в теме
(5) Пасиб. а ещё вопрос
а как проги разбирают, что в потоке символов utf-8 этот символ займет 1 байт а другой 4 байта, они разделены каким то маркером ?
7. andrewks 1370 31.01.13 09:17 Сейчас в теме
8. AlX0id 31.01.13 10:23 Сейчас в теме
А если в Base64 загнать - не вариант?
9. Windsor77 14 31.01.13 10:45 Сейчас в теме
Конечно не вариант, ведь Base64 - это поток бинарной информации, тупо "порубленный" по 6 бит; с UTF-8 другая история, там зависимость нелинейная.
10. Windsor77 14 31.01.13 11:47 Сейчас в теме
Изменил способ конвертации Dec->Hex (берётся прямо из строки, значение - как индекс нужной пары символов), в результате прирост скорости около 60%.
15. dctvghbdtn 28.07.21 18:18 Сейчас в теме
(10) Можете опубликовать свой вариант? Спасибо.
16. Windsor77 14 11.08.21 13:37 Сейчас в теме
(15) Процедура в этой обработке: "Строка из Unicode в UTF-8 (быстрое Dec->Hex)"
11. Gida 05.02.13 12:30 Сейчас в теме
А символы @#$%^&*() разве не являются безопасными? в статье из википедии пишут что сиволы 00-7F однозначно соответствуют ASCII
12. Windsor77 14 30.04.13 12:34 Сейчас в теме
(11) Gida, этот конвертер написан для использования в POST-запросах и URL, поэтому и диапазон "безопасных" символов сужен до разрешённого в URL-ах.
13. TUTSIC923 21.08.18 18:56 Сейчас в теме
русские символы я так понял , он не конвертирует ...
14. Windsor77 14 22.08.18 07:40 Сейчас в теме
(13) Наоборот, конвертирует НЕ ТОЛЬКО русские символы, но и все остальные.
Оставьте свое сообщение