Автор Тема: win1251->utf-16 unicode  (Прочитано 2655 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nifus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
win1251->utf-16 unicode
« : 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 были одно вопросы. Подскажите что я сделал не так

Оффлайн nifus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
win1251->utf-16 unicode
« Ответ #1 : 04 Сентября 2005, 13:37:10 »
Вопрос немного изменился
Есть такой пример
"ΩΨΘ becomes"-> "03A903A8039"
по словам автора, это результат преобразования текста в Unicode, с записью каждого символа в шестнадцатеричном формате(Each Unicode character must be hex-encoded).
Если посмотреть, то и первая и вторая строка содержат ровно по 11 символов
Как такое возможно??

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28