Forum Webscript.Ru

Программирование => PHP => Тема начата: nifus от 03 Сентября 2005, 12:43:12

Название: win1251->utf-16 unicode
Отправлено: nifus от 03 Сентября 2005, 12:43:12
Подскажите, мне нужно преобразовать текст в UTF-16 unicode, а потом каждый символ перевести в шестнадцатеричное число. Эту требования шлюза для рассылки sms сообщений, текст которых отличен от английского.
Я  нашёл такой исходник для перевода в Unicode
function win2uni($s)
  {
    $s = convert_cyr_string($s,\'w\',\'i\');
    for ($result=\'\', $i=0; $i      $charcode = ord($s[$i]);
      $result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
    }
    return $result;
  }
а для преобразования в шестнадцатеричное число использовал функцию bin2hex, но ничего из этого не вышло, в пришедшем sms были одно вопросы. Подскажите что я сделал не так
Название: win1251->utf-16 unicode
Отправлено: nifus от 04 Сентября 2005, 13:37:10
Вопрос немного изменился
Есть такой пример
"ΩΨΘ becomes"-> "03A903A8039"
по словам автора, это результат преобразования текста в Unicode, с записью каждого символа в шестнадцатеричном формате(Each Unicode character must be hex-encoded).
Если посмотреть, то и первая и вторая строка содержат ровно по 11 символов
Как такое возможно??