skyksandr
@skyksandr
Full Stack Ruby on Rails Developer

Как перекодировать символы из UTF-8 в формат \320\220?

Пытаюсь решить ребус по кодированию строки.

Необходимо из строки:
Администратор

Получить:
\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200

т.е.
А = \320\220
д = \320\264
м = \320\274
и = \320\270
н = \320\275
и = \320\270
с = \321\201
т = \321\202
р = \321\200
а = \320\260
т = \321\202
о = \320\276
р = \321\200

Если вы вдруг сталкивались с подобным - напишите, как получить подобное. Исходная строка в UTF-8
  • Вопрос задан
  • 5131 просмотр
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
print ''.join(['\\'+oct(ord(c))[1:] for c in u'Администратор'.encode('utf-8')])


320 это восьмиричная запись 0xD0, а 0xD0 это первый байт символа в UTF-8
значит надо получит байты в кодировке UTF-8 .encode('utf-8') затем преобразовать байт в его десятичную запись ord и десятичную запись преобразовать в восьмиричную oct. так как в восьмиричной из '\xD0' получим '0320' - то приведем его к '320' [1:] в итоге создаем массив элементов начинающихся со \ '\\'+, и в финале соединяем массив в строку ''.join().
Просто взял и решил, раньше не встречался:
94ee110bb6ba4059b48d9a2404242782.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы