Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 13

Строка: Как из \x05\x00\x03 получить соответствующие символы?

26.02.2016, 16:04. Показов 714. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю аналог grep с конвертацией кодировок.
Когда вручную прописываю коды в переменную и потом её конвертирую, к примеру
Perl
1
my $string="\x05\x00\x03"...
в переменную записываются соответствующие симолы и всё работает хорошо, а если читаю из файла ту же самую стоку, в переменную пишется сама строка \х05...
Вопрос:как из \x05\x00\x03 получить соответсутвующие символы?

Добавлено через 5 часов 9 минут
Даже конкретней вопрос задам.
Как получить из
print '\x003'; тот же результат, что и из print "\x003";
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.02.2016, 16:04
Ответы с готовыми решениями:

Как заменить символы в строке, не соответствующие заданному шаблону?
Здравствуйте! Я хочу сделать шаблон допустимых символов, и если в строке существуют символы, которых нету в заданном шаблоне, заменять их...

Дана строка. Получить строку, содержащую те же символы, но расположенные в обратном порядке
Дана строка. Получить строку, содержащую те же символы, но расположенные в обратном порядке.

Дана строка символов. Получить все символы, расположенные между первой и последней точками
Дана строка символов. Получить все символы, расположенные между первой и последней точками.

3
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
26.02.2016, 17:00
Цитата Сообщение от Panzerok Посмотреть сообщение
Как получить из
print '\x003'; тот же результат, что и из print "\x003"
В случае двойных кавычек, Perl обрабатывает их содержимое, в случае одинарных - печатает как есть. Одинаковым будет вывод лишь в том случае, если в строке вообще не встречаются переменные или символы, которые могут как либо интерпретироваться.
Кроме того, обратите внимание, в своём примере Вы использовали т.н. непечатаемые символы, которые имеют нюансы вывода (binmode).
Если брать обычные символы:
Perl
1
2
3
4
5
6
7
8
9
#!perl
 
use strict;
use warnings;
 
my $string="\x35\x40\x53";
print "$string\n";
$string='\x35\x40\x53';
print "$string\n";
на выходе
Code
1
2
5@S
\x35\x40\x53
0
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 13
26.02.2016, 17:05  [ТС]
Спавился с задачей следующим способом eval "\"$string\"" и тогда даже строку '\x003' обработает как нужно.
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,875
28.02.2016, 04:29
Цитата Сообщение от Panzerok Посмотреть сообщение
Даже конкретней вопрос задам.
Как получить из
print '\x003'; тот же результат, что и из print "\x003";
не-не, первый вопрос, а именно
Цитата Сообщение от Panzerok Посмотреть сообщение
в переменную записываются соответствующие симолы и всё работает хорошо, а если читаю из файла ту же самую стоку, в переменную пишется сама строка \х05...
Вопрос:как из \x05\x00\x03 получить соответсутвующие символы?
был гораздо корректнее.

а решение верное, да.
но эстетичнее так:
Perl
1
2
$string = <>;
print eval qq/"$string"/;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2016, 04:29
Помогаю со студенческими работами здесь

Напишите функцию escape (s,t), которая при копировании текста из t в s преобразует такие символы, как новая строка и табуляция в символы "_"
help me)

Дана символьная строка. Получить новую строку, взяв из данной все символы, находящиеся между первой открывающейся скобкой и последней закрывающейся
*Дана символьная строка. Получить новую строку, взяв из данной все символы, находящиеся между первой открывающейся скобкой и последней...

Как получить все файлы соответствующие маске, если путь к папке и маска в одной строке
Всем привет! Если нам передают строку типа: &quot;C:\temp\*.xml&quot; Как мне получить список всех файлов из этой папки, соответствующих...

Заменить указанные символы на соответствующие им цифры
С праздниками, рубисты! Буду рад любому совету. В общем делаю задание &quot;Вводятся строки, которые состоят из групп цифр или букв или...

Преобразование чисел в соответствующие им в ASCII символы
Вобщем задача такая из первого текстбокса считывается строка в массив символов из второго текстбокса смещение вправо по алфавиту тоесть...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru