VBScript chr() возвращает неправильное значение

Я пытаюсь преобразовать код символа в символ с помощью chr(), но VBScript не дает мне ожидаемого значения. Согласно VBScript код символа 199:

�

Однако при использовании чего-то вроде Javascript String.fromCharCode 199:

Ç

Второй результат — это то, что мне нужно получить от функции VBScript chr(). Есть идеи, в чем проблема?


person David Brown    schedule 24.11.2008    source источник


Ответы (3)


Отредактировано с учетом комментариев

Chr(199) возвращает 2-байтовый символ, который интерпретируется как 2 отдельных символа.

  • используйте ChrW(199), чтобы вернуть строку Unicode.
  • используйте ChrB(199), чтобы вернуть его как однобайтовый символ
person Jimmy    schedule 24.11.2008
comment
ChrB работал, если я не объединял символ в строку. ChrW работает с конкатенацией строк (не спрашивайте почему). Спасибо! - person David Brown; 25.11.2008

Кодировка - это проблема. Javascript может интерпретироваться как latin-1; VBScript может использовать другую кодировку и запутаться.

person strager    schedule 24.11.2008

fromCharCode() принимает указанные значения Unicode и возвращает строку.

Функция Chr() преобразует указанный код символа ANSI в символ.

person Daniel Kreiseder    schedule 24.11.2008