The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Преобразование Hex в соответствуюший символ"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Преобразование Hex в соответствуюший символ"  
Сообщение от Gleb on 06-Июл-06, 11:40 
Hi, All!

Народ,
Необходимо преобразовать запись вида
=D0=90=D0=B2=D1=82=D0=BE=D1=81=D0=B5=D1=80=D0=B2=D0=B8=D1=81
в символьную

замена

s/=([\dA-F][\dA-F])/\\x$1/g;
print;

выдает
\xD0\x90\xD0\xB2\xD1\x82\xD0\xBE\xD1\x81\xD0\xB5\xD1\x80\xD0\xB2\xD0\xB8\xD1\x81
вместо символов

хотя такая конструкция

$_ = "\xD0\x90\xD0\xB2\xD1\x82\xD0\xBE\xD1\x81\xD0\xB5\xD1\x80\xD0\xB2\xD0\xB8\xD1\x81";
print;

работает как нужно

Что делать?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Преобразование Hex в соответствуюший символ"  
Сообщение от madskull (ok) on 06-Июл-06, 12:00 
>Что делать?

один из вариантов:
s/=([0-9a-f]{2})/chr(hex($1))/ige;

другой
$_=join"",map{pack"H",$_}split"="';

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Преобразование Hex в соответствуюший символ"  
Сообщение от Gleb on 06-Июл-06, 12:10 
>>Что делать?
>
>один из вариантов:
>s/=([0-9a-f]{2})/chr(hex($1))/ige;
>
>другой
>$_=join"",map{pack"H",$_}split"="';


Преогромнейшее спасибо

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Преобразование Hex в соответствуюший символ"  
Сообщение от Alexander S. Salieff email on 06-Июл-06, 17:48 
>>Что делать?
>
>один из вариантов:
>s/=([0-9a-f]{2})/chr(hex($1))/ige;
>
>другой
>$_=join"",map{pack"H",$_}split"="';


Я так понимаю что это quoted-printable кодировка? Тогда для многострочного форматирования стоит еще добавить
s/=[\r\n]+//g;
Потому как одинокое "=" перед переводом строки - это фиктивный перенос для удобства, при декодировании его треба убрать.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру