Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2012, 13:08
Новичок на форуме
Отправить личное сообщение для mops Посмотреть профиль Найти все сообщения от mops
 
Регистрация: 08.04.2010
Сообщений: 7

как раскодировать?
Здравствуйте,
от сервера приходит такая типа такой строки: \u043e\u0432\u043e\u0441\u0442\u043824

чем ее можно раскодировать в читаемый текст?

спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2012, 13:28
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

зачем? JS сам раскодирует :

alert( "\u043e\u0432\u043e\u0441\u0442\u043824" );
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2012, 14:12
Новичок на форуме
Отправить личное сообщение для mops Посмотреть профиль Найти все сообщения от mops
 
Регистрация: 08.04.2010
Сообщений: 7

работает (
странно, а когда я подгружаю строку и делаю алерт не перекодирует.
так ф-и нет никакой? js должен сам раскодировать?
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2012, 14:20
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от mops
странно, а когда я подгружаю строку и делаю алерт не перекодирует.
так ф-и нет никакой? js должен сам раскодировать?
Пробуйте так
var str="\u043e\u0432\u043e\u0441\u0442\u043824"
str=str.toString()
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2012, 14:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Из-за того что приходит в таком виде паоучается двойное экранирование.
Т.е. по сути там для js: "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824" ;
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2012, 14:25
Новичок на форуме
Отправить личное сообщение для mops Посмотреть профиль Найти все сообщения от mops
 
Регистрация: 08.04.2010
Сообщений: 7

неа, не хочет
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2012, 14:34
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

str= "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824"
eval('a="'+str+'"')
alert(a)
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2012, 14:41
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Сообщение от Deff Посмотреть сообщение
str= "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824"
eval('a="'+str+'"')
alert(a)
Опасно. Мало ли что там придёт в ответе сервака. Если конечно доверяете на 100% то можно.
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 14.08.2012, 14:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Ну в современных браузерах можно юзануть и JSON.parse:
str = '\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824';
str = JSON.parse('"'+str+'"');
alert(str)


Но как-то оно всё некрасиво.
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 14.08.2012, 14:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

можно накодить немного :
var str = "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824";

str = str.replace(/\\u([^\\]+)/gi, function (letter, charCode) {
    return String.fromCharCode(parseInt(charCode, 16));
});

alert(str);


я где-то накосячил. сейчас подскажут, где
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как включить синхронное выполнение строк? SkaN Элементы интерфейса 1 26.04.2012 22:28
Как писать код который легко поддерживать, расширять, читать. Policeman Общие вопросы Javascript 3 24.03.2012 05:40
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
Как отловить обратное событие "click" ? jsuse Общие вопросы Javascript 2 18.01.2012 00:16
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56