Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2010, 15:12
Аватар для FreeStyler
Аспирант
Отправить личное сообщение для FreeStyler Посмотреть профиль Найти все сообщения от FreeStyler
 
Регистрация: 13.09.2009
Сообщений: 52

Странный escape()...
Наткнулся на код, в котором текст в escape выглядит так:

%20%6e%75%6c%6c%29%20%3f%20%22%22%20%3a%20%28%22%3 b%20%64%6f%6d%61%69%6e%3d%22%20%2b%20%64%6f%6d%61% 69%6e%29%29%20%2b%0d%0a%09%09%28%28%73%65%63%75%72 %65%20%3d%3d%20%74%72%75%65%29%20%3f%20%22%3b%20%7 3%65%63%75%72%65%22%20%3a%20%22%22%29%3b%0d%0a%09% 09%7d%0d%0a%

Когда делаю unescape и потом опять в escape выходит совершенно другой escape, такой:

%20null%29%20%3F%20%22%22%20%3A%20%28%22%3B%20doma in%3D%22%20+%20domain%29%29%20+%0D%0A%09%09%28%28s ecure%20%3D%3D%20true%29%20%3F%20%22%3B%20secure%2 2%20%3A%20%22%22%29%3B%0D%0A%09%09%7D%0D%0A%25

Не пойму как сделали чтобы не было слов null, domain и т.д. а только цифры, кто знает помогите, пожалуйста!

Вот код:

<script>
t ='%20%6e%75%6c%6c%29%20%3f%20%22%22%20%3a%20%28%22%3b%20%64%6f%6d%61%69%6e%3d%22%20%2b%20%64%6f%6d%61%69%6e%29%29%20%2b%0d%0a%09%09%28%28%73%65%63%75%72%65%20%3d%3d%20%74%72%75%65%29%20%3f%20%22%3b%20%73%65%63%75%72%65%22%20%3a%20%22%22%29%3b%0d%0a%09%09%7d%0d%0a%';
document.write('<p>'+t);
t = unescape(t);
document.write('<p>'+t);
t = escape(t);
document.write('<p>'+t);
</script>

Последний раз редактировалось FreeStyler, 26.06.2010 в 15:25.
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2010, 15:56
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от FreeStyler
Не пойму как сделали
Руками. Перебираем символ за символом и записываем их коды в шестнадцатеричном представлении в строку.
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2010, 16:10
Аватар для FreeStyler
Аспирант
Отправить личное сообщение для FreeStyler Посмотреть профиль Найти все сообщения от FreeStyler
 
Регистрация: 13.09.2009
Сообщений: 52

B@rmaley.e><e, интересно как получить эти значения, ну допустим %6e = n
а как узнать представление других букв?
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2010, 16:14
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

var str = 'null', o = '', i = 0;
for(; i < str.length; i++)
  o += '%' + str.charCodeAt(i).toString(16);
alert(o)
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2010, 16:14
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

alert('n'.charCodeAt().toString(16));

Упс, уже опередили.
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2010, 16:29
Аватар для FreeStyler
Аспирант
Отправить личное сообщение для FreeStyler Посмотреть профиль Найти все сообщения от FreeStyler
 
Регистрация: 13.09.2009
Сообщений: 52

B@rmaley.e><e, спасибо большое! Фиг бы когда догадался!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция обратная escape в php PAMAC Серверные языки и технологии 5 03.02.2010 15:34
Странный баг UI draggable в Firefox и IE _deil_ jQuery 0 10.01.2010 19:49