1

Тема: AHK: asс в разных системах

Столкнулся, что asc в разных системах даёт одинаковые номера разным символам.  Как можно этого избежать или хотя бы сделать более универсальным что ли.

2

Re: AHK: asс в разных системах

А пример?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: asс в разных системах

Наверно, ANSI-AHK в системах с разными языками.

4

Re: AHK: asс в разных системах

Да, от настроек языка в системе зависит. У меня  § имеет код 167. А в других системах другой.

А как сделать не " ANSI-AHK"?

5

Re: AHK: asс в разных системах

Да, у меня и не ANSI совсем.  В процессах "AutoHotkey Unicode 64-bit" виден.
Можно что-то сделать с этой проблемой?

6

Re: AHK: asс в разных системах

У вас не ANSI, а на других системах что?

7

Re: AHK: asс в разных системах

А нормально должен быть совсем другой символ:
http://www.theasciicode.com.ar/extended … e-219.html

°degree symbol

8 (изменено: YMP, 2016-01-13 19:58:53)

Re: AHK: asс в разных системах

У меня параграф тоже 167, причём на всех версиях АНК. И, кстати, если при нажатом Альте набрать 0167 на цифровой клавиатуре, тоже он появляется. И в виндовской таблице символов он этот код имеет, как в Юникоде, так и в ANSI. Какие именно языки на других системах? Может, скрипт там не в виндовской кодировке сохранён? Например, в западноевропейской DOS он как раз имеет код 245, как по вашей ссылке.

9

Re: AHK: asс в разных системах

Что можно сделать, чтобы на любом виндовс при любых языках и страницах, код получался одинаковый для одинаковых символов?

10

Re: AHK: asс в разных системах

Чтобы символ, имеющий разный код в разных кодовых страницах, стал в них иметь одинаковый код? Ничего. Чтобы пользователь вашего скрипта не мог сохранить его в другой кодировке, можно распространять скрипт в скомпилированном виде.

11

Re: AHK: asс в разных системах

Мне нужно, чтобы текст содержащий спецсимволы гарантировано можно было передать без искажений. Вне зависимости от систем и способов пересылки. Я хотел избежать искажений сохраняя символы  в виде ascii-кодов. А оказалось, что с ними тоже не всё в порядке.
  Я думал, что дело в особенностях работы "asc", но похоже всё ещё хуже и проблема нерешаема.

12

Re: AHK: asс в разных системах

Для решения этой проблемы с разными кодировками как раз и придумали Юникод.

13

Re: AHK: asс в разных системах

Если я предоставлю пользователю скомпилированный скрипт, созданный с помощью Unicode 64-bit, он сможет перевести текст со спецсимволами в своём английском виндовс в точно те же коды ascii, как если бы у него был китайский или арабский виндовс?
  А если он отправит мне тот же текст через email, skype или чат, то у него на экране и у меня, символы будут выглядеть всё же по разному? И если попробую тем же скриптом закодировать полученный текст, я получу другие коды ascii?
   Или те же?

14

Re: AHK: asс в разных системах

В юникодном АНК вы получите коды Юникода, а не ASCII. Эти коды одни и те же для всех языков. Что касается отправки этого текста через какие-то другие программы, то тут зависит от программы. Если она не работает с Юникодом, то при вводе этого текста в неё он будет перекодирован в неюникодную кодировку, зависящую от языка.

Для отображения символов ещё нужно, чтобы в системе шрифты соответствующие имелись, в которых эти символы присутствуют, и чтобы они использовались.

И, кстати, если скомпилируете скрипт с 64-битным АНК, то на 32-битных системах он не будет работать. Универсальнее компилировать 32-битным.

15

Re: AHK: asс в разных системах

Если речь про Юникод, то вместо ASC надёжнее использовать Ord.

MsgBox % Ord("§")
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

16

Re: AHK: asс в разных системах

YMP, правильно я понял, что безопасно работать только с отражаемыми символами с кодами ascii от 32 до 126?  Они в любой системе и при любой пересылке не меняются?

17

Re: AHK: asс в разных системах

Вероятно, да. Но все существующие кодировки я не проверял, естественно.