Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   как раскодировать? (https://javascript.ru/forum/server/30746-kak-raskodirovat.html)

mops 14.08.2012 13:08

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

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

спасибо

melky 14.08.2012 13:28

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

alert( "\u043e\u0432\u043e\u0441\u0442\u043824" );

mops 14.08.2012 14:12

работает (
странно, а когда я подгружаю строку и делаю алерт не перекодирует.
так ф-и нет никакой? js должен сам раскодировать?

Deff 14.08.2012 14:20

Цитата:

Сообщение от mops
странно, а когда я подгружаю строку и делаю алерт не перекодирует.
так ф-и нет никакой? js должен сам раскодировать?

Пробуйте так
var str="\u043e\u0432\u043e\u0441\u0442\u043824"
str=str.toString()

Aetae 14.08.2012 14:23

Из-за того что приходит в таком виде паоучается двойное экранирование.
Т.е. по сути там для js: "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824" ;

mops 14.08.2012 14:25

неа, не хочет

Deff 14.08.2012 14:34

str= "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824"
eval('a="'+str+'"')
alert(a)

Aetae 14.08.2012 14:41

Цитата:

Сообщение от Deff (Сообщение 197449)
str= "\\u043e\\u0432\\u043e\\u0441\\u0442\\u043824"
eval('a="'+str+'"')
alert(a)

Опасно. Мало ли что там придёт в ответе сервака. Если конечно доверяете на 100% то можно.

Aetae 14.08.2012 14:49

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


Но как-то оно всё некрасиво.

melky 14.08.2012 14:56

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

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

alert(str);


я где-то накосячил. сейчас подскажут, где :)


Часовой пояс GMT +3, время: 08:48.