powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Узнать Unicode'овский код кириллического символа Фокса...
11 сообщений из 11, страница 1 из 1
Узнать Unicode'овский код кириллического символа Фокса...
    #38588277
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычный (привычный, человеческий - не знаю, как ещё можно его назвать) ASC-код нашего символа (например - заглавной буквы "Щ") легко и просто возвращает команда:
? ASC("Щ")
А можно ли как либо узнать Юникодовский код этого же символа - U+0429 ?
Мне нужно в программе получить для наших букв коды, соответствующие, например, этой таблице:
http://unicode-table.com/ru/#0429
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588280
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smugly,
в фоксе есть функция StrConv(). Изучи.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588299
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но я это уже перепробовал:
? STRCONV("Щ", 1)
? STRCONV("Щ", 9)
? ASC(STRCONV("Щ", 1))
? ASC(STRCONV("Щ", 9))
? STRCONV(STRCONV("Щ", 1), 9)
? ASC(STRCONV(STRCONV("Щ", 1), 9))
Пробовал не только 1 и 9, но и 5, и 6 - возвращаются просто перекодированные символы, а мне нужен именно КОД (юникодовский), а не сам символ.
Т.е., нужно найти (или сочинить) аналоги фоксовских функций CHR() и особенно ASC(), но чтоб возвращался именно Юникодовский код заданного символа.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588355
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кое-что подсмотрел из http://forum.foxclub.ru/read.php?29,602534,602662#msg-602662
и переделал под себя:
m.nANSICode=217
? TRANSFORM(ASC(LEFT(STRCONV(CHR(m.nANSICode),5),1))+ASC(RIGHT(STRCONV(CHR(m.nANSICode),5),1))*256,'@0')
Получается 0х00000429, что и требуется :)
Таким образом, в цикле можно получить все кириллические Unicode-коды, соответствующие нашим ASC-кодам.
Может, кому-нибудь ещё пригодится.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588358
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smugly,

а еще есть функции CToBin() и BinToC(). :)
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588398
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но я уже позавчера "всласть" поизвращался и с этими функциями - ничего, кроме кракозябровой нецензурщины, они мне на экран не выдали. И вообще - оказалось, что под моим VFP7 они работают несколько не так, как, например, в 9-ке. Может, конечно, это именно я не разобрался в них, но так или иначе, а вожделенный код 0х0429 с их помощью мне получить не удалось. А вот так, как я описал выше - всё получилось :)
Считаю тему исчерпанной.
Спасибо.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588408
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmuglyСпасибо, но я уже позавчера "всласть" поизвращался и с этими функциями - ничего, кроме кракозябровой нецензурщины, они мне на экран не выдали. И вообще - оказалось, что под моим VFP7 они работают несколько не так, как, например, в 9-ке.Конечно не так. Ну, так версию фокса надо сразу сообщать. :)
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588443
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
strconv('Щ',5)
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588491
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Dima T, но сравните, что выдаёт предложенный Вами вариант (на скриншоте вверху), по сравнению с нужным мне (на скриншоте внизу) - прилагаю склеенный скриншот.
Как говорится - найдите 10 отличий :)
Как видно, и в Вашем варианте без последующего преобразования байтов всё равно не обойтись. Так или иначе - а "доработать напильником" всё равно придётся :)
Что я уже и сделал - цикл работает чудненько. Как мне и нужно.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588504
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmuglyСпасибо, Dima T, но сравните, что выдаёт предложенный Вами вариант (на скриншоте вверху), по сравнению с нужным мне (на скриншоте внизу) - прилагаю склеенный скриншот.
Как говорится - найдите 10 отличий :)
Как видно, и в Вашем варианте без последующего преобразования байтов всё равно не обойтись. Так или иначе - а "доработать напильником" всё равно придётся :)
Что я уже и сделал - цикл работает чудненько. Как мне и нужно.
это я к твоему посту с девятками 15738657

А так да, после доработать надо. strconv('Щ',5) возвращает строку из 2х символов с кодами 0x29 и 0x04 (или 41 и 4 в десятичной), их ты и показал на скриншоте, если тебе надо просто записать в юникодный файл, то пиши эту строку, если хочешь как-то визуализировать то нет стандартных функций.
В число преобразовать 41 + 4 * 256. Дальше вывести в щестнадцатеричном виде TRANSFORM() что ты и сделал.

Можно еще так в число преобразовать.
Код: sql
1.
ctobin(strconv('Щ',5), '2RS')


но не в 7-ке.
...
Рейтинг: 0 / 0
Узнать Unicode'овский код кириллического символа Фокса...
    #38588522
Smugly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да-да, знаю - я уже наступил на грабли "2RS" в 7-ке :)
Спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Узнать Unicode'овский код кириллического символа Фокса...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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