Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

02.06.2009, 22:30
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Как так кодировать?
%u041F%u043E%u0441%u043C%u043E%u0442%u0440%u0438%2 C%20%u0442%u0435%u0431%u0435%20%u043F%u043E%u043D% u0440%u0430%u0432%u0438%u0442%u0441%u044F
Что это за метод кодирования?
|
|
|

02.06.2009, 22:41
|
|
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме: 3718311
Репутация:
1118
|
|
Это UTF8 а кодировать смотря что нужно вот для URL есть стандартная процедура
http://ru2.php.net/manual/ru/function.urldecode.php
|
|
|

02.06.2009, 22:45
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Про обычный urlencode я знаю...
Но тут то 4 символа, а не 2...
|
|
|

02.06.2009, 22:52
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
unicode либо из него происходящие(UTF-8, UTF-16, UTF-32), ты бы хоть ЯП указал для приличия...
А для того чтоб в него кодировать нужно просто передать функции кодирования текст в этой кодировке, ты лучше глянь charset в сорце страницы, обычно там указана кодировка
Последний раз редактировалось login999; 02.06.2009 в 22:55..
|
|
|

02.06.2009, 23:05
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Это не UTF-8, а UCS-2 ака виндовс юникод. Вроде он еще именуется UTF-16LE. Расшифровать можно джаваскриптом функцией unescape
Быдло-код =)
PHP код:
<?php
function process ($n) {
$n = dechex ($n);
$n = str_repeat ('0', 4 - strlen ($n)) . $n;
return '%u' . $n;
}
$str = iconv ('KOI8-R', 'UCS-2', 'Посмотри, тебе понравится');
echo implode ('', (array_map ('process', unpack ('S*', $str))));
?>
ЗЫ. Че-то наворотил я скобок. Наверно, можно и проще
|
|
|

02.06.2009, 23:12
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Сообщение от login999
unicode либо из него происходящие(UTF-8, UTF-16, UTF-32), ты бы хоть ЯП указал для приличия...
А для того чтоб в него кодировать нужно просто передать функции кодирования текст в этой кодировке, ты лучше глянь charset в сорце страницы, обычно там указана кодировка
Да, это UTF-8 видать... ЯП - php.
Мне нужен алгоритм такого кодирования...
Стандартная urlencode() кодирует по другому немного - там два символа после знака процента - а в этом случае - четыре.
|
|
|

02.06.2009, 23:14
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
попугай
PHP код:
function utf_urlencode($str)
{
$str = iconv("utf-8", "cp1251", $str);
$res = "";
for ($i = 0; $i < strlen($str); $i++) {
$res .= "%u";
$a = iconv("cp1251", "ucs-2", $str[$i]);
for ($j = 0; $j < strlen($a); $j++) {
$n = dechex(ord($a[$j]));
if (strlen($n) == 1) {
$n = "0$n";
}
$res .= $n;
}
}
return $res;
}
echo utf_urlencode('Привет медвед');
|
|
|

02.06.2009, 23:20
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
другой вариан, попроще
PHP код:
function utf16be_urlencode ($str) {
$ret = '';
for ($i = 0; $i < mb_strlen ($str, 'UTF-16BE'); $i++)
$ret .= '%u' .bin2hex (mb_substr ($str, $i, 1, 'UTF-16BE'));
return $ret;
}
$str = iconv ('KOI8-R', 'UTF-16BE', 'Посмотри, тебе понравится');
echo utf16be_urlencode ($str), "\n";
|
|
|

02.06.2009, 23:24
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Всем спасибо..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|