Вопрос о кодировке строки - PullRequest
2 голосов
/ 15 августа 2011

Какая кодировка этой строки?

\x48\x65\x6C\x6C\x6F\x20

P.S. Я нашел это в каком-то источнике Javascript.

Ответы [ 3 ]

4 голосов
/ 15 августа 2011

Это шестнадцатеричное значение для "Hello"

  • 'H' - 48
  • 'е' составляет 65
  • 'l' - это 6C
  • 'o' - это 6F

20 - это пробел

Вот список кодов ascii: http://www.asciitable.com/

\x просто говорит что-то шестнадцатеричное. В строке Javascript это будет \x48 будет представлять один символ ('H'). x обычно используется для обозначения гекса.

Например, так как 48 является шестнадцатеричным для десятичного числа 72, оператор javascript:

0x48 === 72 верно

Вы можете преобразовать Hex в ASCII в JavaScript с помощью String.fromCharCode(0x48).

Вы можете преобразовать шестнадцатеричное в десятичное число с помощью parseInt('0x48')

1 голос
/ 15 августа 2011

Это шестнадцатеричный для строки Hello.

1 голос
/ 15 августа 2011

Каждое из значений формы \xNN является шестнадцатеричным литеральным значением.Они отображаются на значения ASCII, кодирующие определенные символы.Если вы перейдете на консоль JavaScript (например, в браузер Chrome, который я сейчас использую) и введите

alert("\x48\x65\x6C\x6C\x6F\x20");

, вы увидите всплывающее окно с именем

Hello

Поскольку значения ASCII для букв H, e, l и o равны 0x48, 0x65, 0x6C и 0x6F соответственно.Последний 0x20 кодирует символ пробела, который нигде не отображается.

Для получения дополнительной информации о таблице ASCII для кодирования значений символов см. этот веб-сайт , содержащий полную таблицу.

Мой вопрос: почему на любом сайте это можно сделать?Это менее эффективно с точки зрения количества исходных символов, чем просто запись Hello!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...