Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 07.06.2010
Сообщений: 65
1

Скрипт "сжатия" строки не работает для русских букв

10.06.2011, 11:16. Показов 1193. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста исправить скрипт ,чтоб он работал для русских букв тоже.
Задание было такое " По заданной строке выдать её максимальное сжатие."
Пример Строка: ababababABabAbbccccccccccc
Сжатие: 4ab1ABabA2b11c
Вот с этим работает правильно
А для русских букв
Ввожу:
тест
получаю:
1%D4%C5%D3%D4

Не знаю как это исправить=(
Вот сам скрипт

Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl -w
print "Content-type:text/html\n\n";
print "<html>
       <body bgcolor=a000ff>
      <h1>Проверка вторая</h1>";
$string = $ENV{'QUERY_STRING'};
@p = split(/&/, $string);
foreach $i (@p)
{
    ($name, $value) = split(/=/, $i);
};
      if ($name eq "qwe"){
       $str=$value;}
       `chcp 1251`;
       print "$str<br>\n"; $ln = length ($str); $new = "";
$pr = 0;
while ($str =~ /(((\w+?)\3{1,$ln})|(.))/g) {
do {$new .= length($1)/length($3) . $3; $pr = 0;} if $3;
do {$new .= $4} if ( ($4) && ($pr == 1));
do {$new .= "1" . $4; $pr = 1;} if ( ($4) && ($pr == 0));
}
print $new;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2011, 11:16
Ответы с готовыми решениями:

CGI скрипт сжатия строки.
Сжатие строки Один из простых способов сжатия информации заключается в поиске одинаковых частей,...

Если с браузера посмотреть скрипт, то вместо русских букв - кракозябры
Как сделать так, чтобы вместо кракозябр показывались русские буквы? ...

Строки. Из строки символов удалить символы, отличных от русских букв и пробелов
Задана строка из произвольного количества слов, разделенных пробелами. Из заданной строки символов...

Не работает корректный вывод русских букв
Доброго времени суток. Работаю в графическом режиме Столкнулся с проблемой, что функция printf...

Не работает код с заменной букв (русских)
Мне надо заменить в предложение, которое вводится с клавиатуры, буквосочетания ‘пах’ на ‘пух’. Я...

3
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 28
10.06.2011, 11:39 2
Похоже, что у Вас символы русского языка кодируются в Юникод (UTF8) и представляются в шестнадцатеричном виде. Может стоит перекодировать их в ASCII специальной функцией?
0
1 / 1 / 0
Регистрация: 07.06.2010
Сообщений: 65
10.06.2011, 13:29  [ТС] 3
Возможно...Но я в этом мало чего понимаю=(пару раз только писали на perl(

Добавлено через 1 час 34 минуты
Для символов тоже должно работать (например для ?*():%?№ ) но так же как и для русских букв не работает(((
0
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 28
10.06.2011, 14:57 4
А у Вас все символы, отличающиеся от (A-Z), (a-z), =, & и ?, при передаче в виде URL кодируются вышеописанным образом. Только латиница будет нормально передаваться (без спец. знаков). Я сам недвно Perl изучаю, поэтому плохо знаю стандартную библиотеку. Может кто подскажет, как из шестнадцатиричного Юникода перекодить символы обратно в ASCII
0
10.06.2011, 14:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2011, 14:57
Помогаю со студенческими работами здесь

Не работает ввод русских букв в Edit
Всем доброго времени суток! При вводе в Edit мне нужно, чтобы работали только русские буквы....

Нужен скрипт для сжатия изображений
на странице есть дивы, в которых изображения прописаны через img, но размеры этих изображений...

Скрипт для сжатия JPG, BMP и PDF
Здравствуйте! Прошу помощи у знающих людей в написании батника который ищет в папке изображения и...

Скрипт для группового сжатия JPEG картинок
Здравствуйте. Имеется CentOS с установленным Bitrix окружением. На машине БУС - Корпоративный...

Кодировка UTF-8 не работает, выводятся ? вместо русских букв
Добрый день, помогите, плз!! Крутила я кодировки и так и эдак и все равно выводятся знаки...

перевода строки строчных русских букв в прописные
Составьте программу перевода строки строчных русских букв в прописные


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru