Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Декодировать текст

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dembi
Отправлено: 29 Января, 2010 - 11:16:43
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Привет всем.

Есть вот такой текст. в кодировке: utf-8

d0 94 d0 bb d0 b8 d0 bd d0
bd d0 be d0 b5 20 d1 81 d0 be d0 be d0 b1 d1 89
d0 b5 d0 bd d0 b8 d0 b5 20 28 20 d0 91 d0 be d0
bb d0 b5 d0 b5 20 37 30 2d d1 82 d0 b8 20 d1 81
d0 b8 d0 bc d0 b2 d0 be d0 bb d0 be d0 b2 20 29
20 d0 b4 d0 bb d1 8f 20 d0 bf d1 80 d0 be d0 b2
d0 b5 d1 80 d0 ba d0 b8 20 d0 be d1 82 d0 bf d1
80 d0 b0 d0 b2 d0 ba d0 b8 20 d0 b4

Подскажите, как мне преобразовать его в текст???
Заранее спасибо.
(Добавление)
Может кто-то подскажет как можно любой текст в кодировке utf-8 получить в hex виде?
 
 Top
movEAX2
Отправлено: 29 Января, 2010 - 12:33:27
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Поищи информацию по функциям pack/unpack
 
 Top
JustUserR
Отправлено: 29 Января, 2010 - 13:36:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dembi Вообще как вариант "в лоб" можно заменить все пробелы на знак % (А если пробелов нет то разбить попарно и добавить знак %) и потом сделать urldecode - ну и если надо то потом поменять кодировку


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Мелкий Супермодератор
Отправлено: 29 Января, 2010 - 15:30:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




dembi пишет:
Может кто-то подскажет как можно любой текст в кодировке utf-8 получить в hex виде?

PHP:
скопировать код в буфер обмена
  1.  
  2. function HexToStr($string) {
  3.     $hex='';
  4.     for ($i=0; $i < strlen($string); $i++)
  5.     {
  6.         $hex .= dechex(ord($string[$i]));
  7.     }
  8.     return $hex;
  9. }

С латинскими символами, по крайней мере, работает точно корректно.

Обратной функции готовой нету у меня, но должно быть что-то вроде:
PHP:
скопировать код в буфер обмена
  1. function strToHex($string) {
  2.     $hex='';
  3.     for ($i=0; $i < strlen($string); $i++)
  4.     {
  5.         $hex .= chr(hexdec($string[$i]));
  6.     }
  7.     return $hex;
  8. }


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 29 Января, 2010 - 15:35:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dembi пишет:
Может кто-то подскажет как можно любой текст в кодировке utf-8 получить в hex виде?
Сделать urlencode потом удалить знаки % и разбить все символы попарно - и получить такой эе текст как у вас приведено в примере


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Ch_chov
Отправлено: 29 Января, 2010 - 16:54:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




PHP:
скопировать код в буфер обмена
  1. $data = 'd0 94 d0 bb d0 b8 d0 bd d0 bd d0 be d0 b5 20 d1 81 d0 be d0 be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d0 b5 20 28 20 d0 91 d0 be d0 bb d0 b5 d0 b5 20 37 30 2d d1 82 d0 b8 20 d1 81 d0 b8 d0 bc d0 b2 d0 be d0 bb d0 be d0 b2 20 29 20 d0 b4 d0 bb d1 8f 20 d0 bf d1 80 d0 be d0 b2 d0 b5 d1 80 d0 ba d0 b8 20 d0 be d1 82 d0 bf d1 80 d0 b0 d0 b2 d0 ba d0 b8 20 d0 b4';
  2.  
  3. $data = explode(' ', $data);
  4. $cnt = count($data);
  5. for($i = 0; $i+1 < $cnt; $i+=2)
  6.   $bin[] = pack ("nv*", hexdec($data[$i].$data[$i+1]));
  7. $result = implode('', $bin);
  8.  
  9. //$result = 'Длинное сообщение ( Более 70-ти символов ) для проверки отправки';
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB