перевод в шеснадцатиричную систему

P2N

Новичок
перевод в шеснадцатиричную систему

как получить текст в таком формате "=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5,", немогу ничего найти по этому вопросу?
необходимо для отправки почты в Content-Transfer-Encoding: quoted-printable
 

Фанат

oncle terrible
Команда форума
во-первых, зачем отправлять в quoted-printable, когда есть base64?
во-вторых, видно же, что каждый символ закодирован в шестнадцатибитном формате.
ты вообще понимаешь хоть немного в системах счисления? а так же то, что каждая буква имеет определенный код в таблице символов?
 

P2N

Новичок
мне нужно буквы закодировать в в шеснадцатибитный формат, как это сделать стандартными средствами php
 

nalim

Новичок
function hex_convert ($str)
{
$hex_arr=array();
for ($i=0;$i<strlen($str);$i++)
{
$hex_arr[]= base_convert(ord($str{$i}),10,16);
}
return '='.implode('=',$hex_arr);

}

echo (hex_convert ('test'));
 

TutanXamoN

Новичок
nalim доброта конечно не порок но писать всем готовый код очень скоро надоест, а они то привыкнут :)
 

Crazy

Developer
Автор оригинала: TutanXamoN
nalim доброта конечно не порок но писать всем готовый код очень скоро надоест, а они то привыкнут :)
Тем более, что пишется эта функция гораздо проще:

Код:
preg_replace('/(..)/', '=\1', bin2hex($str))
 

Vladson

Сильнобухер
Ок тогда
Код:
$newstr = $str === '' ? '' : '='.wordwrap(bin2hex($str), 2, "=", 1);
Хотя это уже разврат получается :)
(надо "побенчить" что быстрее, а то у меня уже аргументы кончаются) :D
 

Vladson

Сильнобухер
При 100 000 вызовах, строка "Vladson"

nalim = 3.23229217529

Crazy = 1.23490405083

Vladson = 0.334039926529

При строке в килобайт, и 1000 вызовах

nalim = 4.36517715454

Crazy = 1.21862506866

Vladson = 0.0816371440887
 
Сверху