VBScript chr(), похоже, возвращает неправильное значение
-
11-07-2019 - |
Вопрос
Я пытаюсь преобразовать символьный код в символ с помощью chr(), но VBScript не дает мне ожидаемого значения.Согласно VBScript, символьный код 199 равен:
�
Однако при использовании чего-то вроде String.fromCharCode Javascript значение 199 равно:
Ç
Второй результат - это то, что мне нужно получить из функции chr() VBScript.Есть какие-нибудь идеи, в чем проблема?
Решение
Отредактировано с учетом комментариев
Chr(199) возвращает 2-байтовый символ, который интерпретируется как 2 отдельных символа.
- используйте ChrW(199) для возврата строки в Юникоде.
- используйте ChrB(199), чтобы вернуть его в виде однобайтового символа
Другие советы
Кодировка - это проблема. Javascript может интерпретироваться как латиница-1; VBScript может использовать другую кодировку и запутаться.
fromCharCode () принимает указанные значения Юникод и возвращает строку.
Функция Chr преобразует указанный код символа ANSI в символ.