The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Преобразование уникода, !*! abut, 18-Фев-17, 18:47  [смотреть все]
Подскажите пжста, как на перл перекодировать в читаемый вид уникод-строку типа \u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439
  • Преобразование уникода, !*! михалыч, 05:06 , 19-Фев-17 (1)
    > Подскажите пжста, как на перл перекодировать в читаемый вид уникод-строку типа \u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439

    #!/usr/bin/perl

    use Encode;

    $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
    print Encode::from_to($text,'utf8','koi8r');

    60
    • Преобразование уникода, !*! abut, 10:56 , 19-Фев-17 (2)
      >> Подскажите пжста, как на перл перекодировать в читаемый вид уникод-строку типа \u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439
      >
      #!/usr/bin/perl 
      > use Encode;
      > $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
      > print Encode::from_to($text,'utf8','koi8r');
      60

      сорри, я наверно как то сформулировал не так.
      Нужно получить в той же кодировке (utf8),  но в читабельном виде, в строке на самом деле слово "Люберецкий", а ваш скрипт выдает видимо количество символов в строке :).

      • Преобразование уникода, !*! PavelR, 11:01 , 19-Фев-17 (3)

        Чтобы вывести текст надо вывести измененное содержимое переменной $text.

        print $text;

      • Преобразование уникода, !*! михалыч, 20:52 , 19-Фев-17 (9)
        >>> Подскажите пжста, как на перл перекодировать в читаемый вид уникод-строку типа \u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439
        >>
        #!/usr/bin/perl 
        >> use Encode;
        >> $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
        >> print Encode::from_to($text,'utf8','koi8r');
        60

        > сорри, я наверно как то сформулировал не так.
        > Нужно получить в той же кодировке (utf8),  но в читабельном виде,
        > в строке на самом деле слово "Люберецкий", а ваш скрипт выдает
        > видимо количество символов в строке :).

        виноват, исправляюсь ))

        #!/usr/bin/perl

        use Text::Iconv;

        $text = '\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
        print Text::Iconv->new("java", "koi8-r")->convert($text);

        у вас какой-то юникод неправильный (смс-ки вроде как в ucs-2be или это не для рассылок смс?)

        • Преобразование уникода, !*! abut, 15:19 , 22-Фев-17 (10)
          > виноват, исправляюсь ))
          #!/usr/bin/perl 
          > use Text::Iconv;
          > $text = '\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
          > print Text::Iconv->new("java", "koi8-r")->convert($text);

          > у вас какой-то юникод неправильный (смс-ки вроде как в ucs-2be или это
          > не для рассылок смс?)

          не могу проверить, на хостинге модуль Text::Iconv отсутствует, но похоже что это тоже не то.

          не для рассылок смс, это из инстаграма

          • Преобразование уникода, !*! михалыч, 20:16 , 22-Фев-17 (13)
            сам iconv есть? тогда
            #!/usr/bin/perl

            $text = '\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';

            $text = `iconv -f java -t koi8-r << EOD
            $text`;
            print $text;

            а на хостинге по просьбе трудящихся ничего дополнительно не установят?
            попросите их вежливо ))

            • Преобразование уникода, !*! abut, 20:45 , 22-Фев-17 (14)
              > сам iconv есть? тогда
              #!/usr/bin/perl 
              > $text = '\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
              > $text = `iconv -f java -t koi8-r << EOD
              > $text`;
              > print $text;

              > а на хостинге по просьбе трудящихся ничего дополнительно не установят?
              > попросите их вежливо ))

              ------------8<--------------------------------------
              sh: line 1: warning: here-document at line 0 delimited by end-of-file (wanted `EOD')
              iconv: conversion from `java' is not supported
              Try `iconv --help' or `iconv --usage' for more information.
              ----------->8---------------------------------------


              Спасибо, я уже решил проблему вызовом из перла sed+recode с помощью совета выше.

              • Преобразование уникода, !*! ACCA, 22:02 , 01-Мрт-17 (15) +1
                > Спасибо, я уже решил проблему вызовом из перла sed+recode с помощью совета
                > выше.

                Не нужно вызывать sed+recode из Perl, это извращение в три процесса на строку.

                my $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
                $text =~ s/\\u(....)/chr hex $1/ge;

                • Преобразование уникода, !*! михалыч, 09:58 , 06-Мрт-17 (16)
                  > my $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
                  > $text =~ s/\\u(....)/chr hex $1/ge;

                  класс! это здо́рово! спасибо за пример использования chr и hex

                  тем самым получаем текст в utf8

                  если необходимо, то переводим полученный текст в нужную кодировку
                  например вот так в koi8-r
                  (не-не, я только перекодирование добавлю, петь и плясать не буду ☺ )

                  #!/usr/bin/perl

                  use Encode qw(encode decode);

                  $text='\u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439';
                  $text =~ s/\\u(....)/chr hex $1/ge;

                  $text = Encode::encode('koi8-r', $text);
                  print $text;


                  на пальму первенства не претендую ))
  • Преобразование уникода, !*! Аноним, 21:37 , 11-Июл-18 (17)
    > Подскажите пжста, как на перл перекодировать в читаемый вид уникод-строку типа \u041b\u044e\u0431\u0435\u0440\u0435\u0446\u043a\u0438\u0439

    s/\\u(....)/ pack 'U*', hex($1) /eg;




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру