UCS2 конвертирование

_AXE_

Новичок
UCS2 конвертирование

Как конвертировать текст в USC2???
iconv() тут бессильна....
 

tony2001

TeaM PHPClub
надо просто имя кодировки без опечаток указывать.
UCS2, UCS-2 - всё это iconv() знает.
 

_AXE_

Новичок
Автор оригинала: tony2001
надо просто имя кодировки без опечаток указывать.
UCS2, UCS-2 - всё это iconv() знает.
PHP:
<?php
function encode_message ($text) 
{
  $out_text = iconv("Windows-1251","UCS-2",$text);
return $out_text;
}
$pr1="привет";
$pr2=encode_message($pr1);
echo"$pr1<br>";
echo"$pr2";
?>
Результат:
привет
?@825B
передача в unicode, ожидаемый результат:
041F044004380432043504420021

вот в чем проблема...
 

_AXE_

Новичок
Тогда, 041F044004380432043504420021 это привет в какой кодировке?
 

tony2001

TeaM PHPClub
# ./sapi/cli/php -d unicode.semantics=1 -r 'var_dump("\u041F\u0440\u0438\u0432\u0435\u0442\u0021");'
unicode(7) "Привет!"
 

_AXE_

Новичок
И что?
var_dump("041F044004380432043504420021");
возвращает строку из 28 символов
var_dump("\u041F\u0440\u0438\u0432\u0435\u0442\u0021")
строку из 42 символов... и???
 

kruglov

Новичок
041F044004380432043504420021 - это какая-то очень идиотская кодировка, раз в ней 6 букв занимают 24 байта.
 

Wicked

Новичок
_AXE_
PHP:
function encode_message ($text) 
{
  $out_text = iconv("Windows-1251","UCS-2",$text);
return $out_text;
}
$pr1="привет";
$pr2=encode_message($pr1);
echo"$pr1<br>";
echo"$pr2<br>";
echo bin2hex($pr2)."<br>";
Посиди и подумай, что из этого действительно ожидаемый результат.

PS: к тому же, если уж ты ожидал 041F044004380432043504420021, то вводить надо было не "привет", а "Привет". Зачем ты обманываешь людей, к которым обращаешься за помощью?
 

_AXE_

Новичок
Ёпрст, вы тут че все сговорились? Я в 3 скриптах запутался, подумаешь гдето ввел и получил 040F044004380432043504420021
Привет, а в другом привет.

041F044004380432043504420021 вот такой результат как получить??? от слова Привет?

Я уже понял что UCS-2 это не совсем то что мне надо!
 

_AXE_

Новичок
Я пытаюсь сделать так чтобы отправлять SMS-ки на русском. В документации нашел, что должны быть закодированы в Юникоде hex-encoded. Юникод именно UTF-16.
В самом кликателе, есть сервис конвертирования, который привет, как раз конвертирует как 040F044004380432043504420021...
 
Сверху