1

Тема: AHK: Сохранить unicode символы в ANSI версии AHK

У меня есть строка: "Ø230 × 25,4мм", ее я получаю с сайта, при сохранении в файл вместо "Ø" и "×" стоят вопросики, как можно не потерять данные символы?

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

2

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Конвертировать в другой кодировке и хранить так?

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Сохранить unicode символы в ANSI версии AHK

При сохранении используйте UTF-8 или UTF-16.

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

4

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Да.. Но в какой? Я перепробовал разные функции и не одна из них не сохранило данные символы, а все русские вообще превратились в непонятные.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

5

Re: AHK: Сохранить unicode символы в ANSI версии AHK

teadrinker, не помогает.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

6

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Помогает.

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

7

Re: AHK: Сохранить unicode символы в ANSI версии AHK

И что же делать, если не помогает?

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

8

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Точнее, именно UTF-8, поскольку данные с сайта вероятнее всего в этой кодировке.

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

9

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Phoenixxx_Czar пишет:

И что же делать, если не помогает?

Не знаю, я же ваш код не вижу.

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

10

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Допустим данный код:

FileAppend, % "Ø230 × 25,4мм", % "test.xml", UTF-8

Сохраняет как:

?230 ? 25,4мм
Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

11

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Так ANSI версия не поддерживает строки в UTF-8 в виде текста. При получении с сайта не сохраняйте, как текст, а сохраняйте, как бинарные данные. Их же и сохраняйте в файл с помощью RawWrite(), только префикс UTF-8 не забудьте вставить.

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

12

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Если я получаю JSON строку и мне нужно сделать манипуляции с этими данными и потом сохранить, как не потерять данные в таком случае?

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)

13

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Наверно никак. С текстом в кодировке UTF-8 в ANSI-версии AHK можно манипулировать только в бинарном виде.
Собственно, проблема даже не в UTF-8, а в том, что некоторые символы в этой кодировке имеют двухбайтный размер, чего ANSI-версия не поддерживает.

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

14

Re: AHK: Сохранить unicode символы в ANSI версии AHK

teadrinker пишет:

Наверно никак

Не, ну, конечно, если сильно заморочиться, можно что-то придумать, вопрос, какими усилиями. Например, отправить такую строку в виде hex в HTMLFILE объект, там преобразовать в строку, сделать необходимые манипуляции, и получить обратно в виде hex.

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

15

Re: AHK: Сохранить unicode символы в ANSI версии AHK

Решил пойти все же путем запуска скрипта в unicode версии.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)