Автор Тема: Проблема с hex строкой  (Прочитано 3047 раз)

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

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Проблема с hex строкой
« : 02 Апреля 2006, 20:13:53 »
Требуется создать строку типа:
my $foot="\\x00\\x00\\x01\\x00\\x01";
И я ее создаю из строки:
$host=\'test.ru\';
foreach my $sym(split(//,$host)) {
   $temp.=sprintf("%x",ord($sym));
}
в итоге получаю строку содержащую в общем-то то что надо, но при записи в файл (к примеру) эта строка не понимается как шестнадцатеричная...
или...
в общем проблема в сочетании шестадцатеричных строк и обычных?
К примеру упаковав IP адрес через
pack(\'C4\',$ip1,$ip2,$ip3,$ip4) - я получаю нужную мне строку, а вот при попытке тоже самое сделать с обычной строкой (к примеру имя хоста) - получаю фигню... в смысле данные не рассматриваются как hex, а рассматриваются как обычная строка?
Запутанно объясняю - просто уже торможу виимо..
если кто-то понял проблему - подскажите плз...
Ворота в perl - perlmonks.org.ru

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проблема с hex строкой
« Ответ #1 : 03 Апреля 2006, 12:15:10 »
Если я правильно тебя понял, у тебя проблемы с типом представления.
Попробуй представить в Unicode. Я в utf8 не имел проблем с такой задачей.
Например:
open( FILE, ">>:utf8", $fname )
The documentations is your friend

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Проблема с hex строкой
« Ответ #2 : 03 Апреля 2006, 15:47:15 »
Разобрался - просто ступил...
Спасибо NeoNox
Ворота в perl - perlmonks.org.ru

 

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