Напишите функцию или программу, которая кодирует строку в код 39 штрих-код формата , где каждый символ кодируется в виде пяти столбцов, разделенных четырьмя пробелами. Либо два из столбцов и один из промежутков являются широкими, а другие узкими (коды 10 * 4), или три из промежутков являются широкими, и ни один из столбцов не является (4 кода). Это дает 44 различных кода, из которых один является зарезервированным кодом, который используется для обозначения начала и конца кодированной строки.
Соревнование
Входные данные представляют собой строку, содержащую только символы из набора
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-. +/$%
Выход - строка, закодированная как строка штрих-кода. Узкий зазор и межсимвольные промежутки представляют собой единое пространство, а широкий промежуток - три пробела. Узкая полоса - это последовательность байтов UTF-8 для символа Unicode «Полный блок», █, т. Е. 0xE2 0x96 0x88Широкая полоса - три таких последовательности байтов / символов ( ███). Полный список кодов:
Spaces
0100 0010 0001 1000 1011 1101 1110 0111
Bars
00000 + / $ %
10001 1 A K U
01001 2 B L V
11000 3 C M W
00101 4 D N X
10100 5 E O Y
01100 6 F P Z
00011 7 G Q -
10010 8 H R .
01010 9 I S space 1=wide
00110 0 J T start/end 0=narrow
Полосы и пробелы чередуются, начиная с бара, поэтому, например, Q
bar 0 0 0 1 1
code █ █ █ ███ ███
space 0 0 0 1
После кодирования всех символов строка разделяется с обоих концов █ █ ███ ███ █. Межсимвольный промежуток, один пробел, вставляется между каждой буквой. Ваше решение может выводить завершающие пробелы и завершающий перевод строки (в этом порядке).
Примеры
"" → "█ █ ███ ███ █ █ █ ███ ███ █"
"A" → "█ █ ███ ███ █ ███ █ █ █ ███ █ █ ███ ███ █"
"C++" → "█ █ ███ ███ █ ███ ███ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ███ ███ █"
"GOLF" → "█ █ ███ ███ █ █ █ █ ███ ███ ███ █ ███ █ █ █ ███ █ █ ███ █ ███ ███ █ █ █ █ ███ ███ █"
Разрешены стандартные форматы ввода / вывода, а стандартные лазейки запрещены. Это код-гольф , поэтому выигрывает самый короткий код в байтах!
#символа, поскольку, например, "#"это не единственная причина, по которой он может использоваться в языке.