Я делаю некоторые изменения в файлах локали Linux /usr/share/i18n/locales
(например, pt_BR
), и необходимо, чтобы строки формата (например, %d-%m-%Y %H:%M
) были указаны в Unicode, где каждая (в данном случае ASCII)символ представляется как <U00xx>
.
Таким образом, текст, подобный этому:
LC_TIME
d_t_fmt "%a %d %b %Y %T %Z"
d_fmt "%d-%m-%Y"
t_fmt "%T"
Должен быть:
LC_TIME
d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
d_fmt "<U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>"
t_fmt "<U0025><U0054>"
Таким образом, мне нужен сценарий командной строки (будь то bash, Python, Perl или что-то еще), который будет принимать данные типа %d-%m-%Y
и преобразовывать их в <U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0059>
.
Все символы во входной строке будут символами ASCII (из 0x20
на 0x7F
), так что это на самом деле причудливое преобразование "char-to-hex-string".
Может кто-нибудь помочь мне?Мои навыки в bash-скриптинге очень ограничены, а в Python еще хуже.
Бонус за элегантные, объясненные решения.
Спасибо!
(кстати, это будет "обратный" скрипт для моего предыдущего вопроса )