powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Как перекодировать строки?
14 сообщений из 14, страница 1 из 1
[gt.m] Как перекодировать строки?
    #39034728
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Кащее есть свои функции для перевода строк из одной кодировки в другую...

Есть ли в gt.m свои аналогичные возможности?
Интересующие кодировки:
- DOS
- Win
- UTF
----------
Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034741
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

На сайте можно скачать AcculturationWorkshop.
Там про это есть.
Unicode (ISO/IEC-10646)

GT.M supports international character sets using Unicode. A mumps process can operate in one of two modes: M mode and UTF-8 mode, which is specified by the environment variable gtm_chset at process startup and which is immutable for the life of the process.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034743
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
что до меня, не доверяю я в этой части казенным функциям. На всех языках, на которых мне доводилось прогить, я всегда писал этот софтвер сам, и за много лет мои функции ни разу меня не подводили. Там делов-то на полчаса максимум.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034747
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyТам делов-то на полчаса максимум.Ну-ну, в юникод из любой кодировки за полчаса, конвертер напишешь, без применения сторонних библиотек ?
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034748
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaВ Кащее есть свои функции для перевода строк из одной кодировки в другую...

Есть ли в gt.m свои аналогичные возможности?
Интересующие кодировки:
- DOS
- Win
- UTF
----------
Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST $ZCOnvert - там тоже есть, хоть и немного другой
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034752
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyя всегда писал этот софтвер сам
Написали уже...
Просто вдруг есть уже что-то в самом gt.m, а мы не вкурсе.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034763
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor $ZCOnvert - там тоже есть, хоть и немного другой
Что-то там не густо вариантов перекодировки...

авторThe valid (case insensitive) codes for character set encoding for expr2 and expr3 in the three-argument form are:
"UTF-8"-- a multi-byte variable length encoding form of Unicode.
"UTF-16LE"-- a multi-byte 16-bit encoding form of Unicode in little-endian.
"UTF-16BE"-- a multi-byte 16-bit encoding form of Unicode in big-endian.
"UTF-16"-- a multi-byte 16-bit encoding form which uses the same endian level as that of the current system.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034766
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorНу-ну, в юникод из любой кодировки за полчаса, конвертер напишешь, без применения сторонних библиотек ?
Unicode - нет, но ТС его и не упоминал.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034774
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUyDAiMorНу-ну, в юникод из любой кодировки за полчаса, конвертер напишешь, без применения сторонних библиотек ?
Unicode - нет, но ТС его и не упоминал.он упомянул UTF - Unicode Transformation Format, да и смысл конвертации текста если она не умеет конвертировать в/из UTF
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39034797
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
ну не знаю. Не хочу втягиваться в терминологический спор. Могу только сказать, что для двухбайтных кодировок все необходимые мне переодировщики я тоже успешно реализовал сам. А какая их них как точно называется - мне не суть важно.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39226653
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулись с проблемой перекодировки DOS<->Win в Линуксе...
Наша функция не перекодирует следующие символы "Ёё№"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
convert(Text,Type) ; Переформат Dos - Windows для строки
  n s1,s2,i
  s Type=$g(Type,1)
  f i=128:1:255 s s1=$g(s1)_$c(i)
  s s2="░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫"_$c(12)_"┘┌█▄▌▐▀"
  s s2=s2_$c(12)_"ёЄєЇї"_$c(15,18)_"ё∙·√"_$c(27)_"¤■ "
  s s2=s2_"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
  s s2=s2_"абвгдежзийклмнопрстуфхцчшщъыьэюя"
  q $s(Type=1:$tr(Text,s2,s1),1:$tr(Text,s1,s2))
Т.к. нет взаимно однозначного соответствия для замены.

Может есть какие-то "стандартные" приемы для перекодировки?
Так же интересна перекодировка у UTF-8...

Вот текст программы картинкой, а тут символы некоторые заменились... Модератор: исправил
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39226751
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказывается такую тему я уже создавал... Объединить бы их в одну?
Модератор: исполнено
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39227203
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa ,

Проще всего экспортировать из Caché нужную Вам локаль и в ней посмотреть уже готовые таблицы перекодировок: CP866<>CP1251<>KOI8<>и т.д.
А в самом коде GT.M лучше использовать соответствующие коды [$c(код)] вместо символьного представления для избежания недоразумений: ведь и сам исходник Вашей программы может быть сохранён в разных кодировках и тогда могут быть проблемы. Пример с sql.ru выше тому подтверждение.
...
Рейтинг: 0 / 0
[gt.m] Как перекодировать строки?
    #39227308
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitПроще всего экспортировать из Caché нужную Вам локаль и в ней посмотреть уже готовые таблицы перекодировок: CP866<>CP1251<>KOI8<>и т.д.
Передам это нашему админу, пусть обдумает это...
servitведь и сам исходник Вашей программы может быть сохранён в разных кодировках и тогда могут быть проблемы.
У нас подход такой:
- есть системные программы, которые имеют одинаковые названия но одни есть в Каше, а другие в ГТ.М и код у них разный, под соответствующую СУБД
- все остальные программы обращаются только к системным
Т.ч. исходники системных программ будут сохраняться в нужной кодировке, это не проблема.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Как перекодировать строки?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]