Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
176 / 2 / 1
Регистрация: 31.10.2016
Сообщений: 160
1

Привести бинарную строку к регулярному виду

05.04.2018, 20:30. Показов 1415. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В Perl 5 конвертировать строку в бинарный вид и обратно можно так:
Perl
1
2
echo -n this is string | perl -lpe '$_=unpack "B*"'
echo -n 01110...00111 | perl -nE 'say pack "B*", $_'
В Perl 6 к бинарному виду строку привести строку можно как-то так:
Perl
1
perl6 -e "say join '', 'this is string'.split('', :skip-empty).map({ord($_).fmt('%.8b')})"
А как обратно? В смысле из бинарного представления перегнать в обычный формат? Бить строку на октеты с их последующим переводом в символы? Но ведь октеты будут представлять собой строковой тип.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2018, 20:30
Ответы с готовыми решениями:

Привести строку к регулярному выражению
Имеется такой код var text = "text"; text.test(/text/); выдаёт ошибку test is not a function...

Привести строку к определенному виду
Всем привет, возникла задачка. Нужно вот такую строку - "Фамилия,Имя,Отчество" приветси в такой...

Привести строку к символьному виду
Есть строка вида string s = "&# ю 107;&# ю 114;&# ю 105;" Я вставил пробелы и букву ю,...

Привести строку к такому виду, чтобы она состояла из одинаковых букв
Задана строка, состоящая из латинских букв нижнего регистра. Вам необходимо привести строку к...

5
6242 / 2117 / 334
Регистрация: 10.12.2013
Сообщений: 7,296
05.04.2018, 22:19 2
А как обратно? В смысле из бинарного представления перегнать в обычный формат?
perl6:
Perl
1
2
3
my \бинарное-представление = '01010'; 
my \обычный-формат = :2(бинарное-представление);
say обычный-формат;
output:
10
1
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
07.04.2018, 12:35 3
Лучший ответ Сообщение было отмечено jkadaba как решение

Решение

Туда (к бинарному представлению):
Perl
1
perl6 -e "'this is test string'.comb(1).map({(ord($_)).fmt('%.8d')}).join.say"
Обратно:
Perl
1
perl6 -e "'01110...00111'.comb(8).map({chr(:2($_))}).join.say"
1
volodin661
07.04.2018, 14:37
  #4

Не по теме:

greg zakharov,
ты таки выполнил свою давнюю угрозу присмотреться к возможностям perl6 ? ))
Я рад.

0
greg zakharov
07.04.2018, 20:17
  #5

Не по теме:

volodin661, да. ))

0
6242 / 2117 / 334
Регистрация: 10.12.2013
Сообщений: 7,296
07.04.2018, 21:23 6
Perl
1
2
3
4
5
6
# генерируем двоичную символьную колбасу, а именно склеиваем 10 раз произвольный набор из 8 ноликов('0') и единиц('1')  
my $колбаса ~=  <0 1>.roll(*)[^8].join for 1..10;
$колбаса.say;
 
 
$колбаса.comb(8).map({ chr(:2($_)) }).join.say;
Добавлено через 19 минут
ну и, то же самое, но однострочником без промежуточных переменных:
Bash
1
perl6 -e '( for 1..10 { <0 1>.roll(*)[^8].join } ).join.comb(8).map({ chr(:2($_)) }).join.say'
0
07.04.2018, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2018, 21:23
Помогаю со студенческими работами здесь

С виду простое однородное уравнение. Нужно привести к виду F(x,y)=C
Из 250 задач ВУЗа решил все, за исключением единственной! (Хотя по части задач были недопонимания -...

Привести строку к нормированному виду, те удалить все пробелы в начале и конце, а между словами оставить один пробел
Буду благодарен если поможете с задачей. Просто строки не понимаю. Вводится ненормированная...

Либо удваивая одиночные, либо заменяя сдвоенные одним символом, привести строку к заданному виду
Помогите решить эту задачу, я написал решение, но оно получилось огромным (73 строчки), непонятным...

Привести строку времени к виду "00:00:00"
Dim times As DateTime = DateTime.Now Dim hours As Integer = times.Hour Dim...


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

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