шестнадцатеричная строка в JavaScript - PullRequest
4 голосов
/ 24 августа 2011

Как мне конвертировать: из: '\\x3c' в: '<';

Я пытался:

s=eval(s.replace("\\\\", "")); 

не работает.Как мне это сделать?Заранее спасибо!

Ответы [ 3 ]

11 голосов
/ 24 августа 2011

Используйте String.fromCharCode вместо eval и parseInt, используя основание 16:

s=String.fromCharCode(parseInt(s.substr(2), 16));
1 голос
/ 24 августа 2011

Если вы используете jQuery, попробуйте следующее: $('<div>').html('\x3c').text()

Остальное (взято из здесь )

function htmlDecode(input){
  var e = document.createElement('div');
  e.innerHTML = input;
  return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
0 голосов
/ 24 августа 2011

Один из способов сделать это, который навлечет на себя гнев людей, которые считают, что «eval» является однозначно злым, заключается в следующем:

var s = "\\x3c";
var s2 = eval('"' + s + '"'); // => "<"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...