Юникод в объединенной строке - PullRequest
0 голосов
/ 17 февраля 2019
for x in range(0,10):
    v=f'{x:0=4}'
    print('\u' + v)

Файл "ipython-input-47-976d3b5794b6", строка 3 print ('\ u' + v) ^ SyntaxError: (ошибка Юникода) кодек unicodeescape не может декодировать байты в позиции 0-1:усеченный \ uXXXX escape

Я не понимаю, почему это не работает.Если у меня есть базовые элементы, например, «\ u0000» или «u0001» и т. Д., И печать, то это работает.Но попытка сделать строку из 2 частей кажется проблемой.

Я собираюсь перейти от 0 к 9 и создать строку в поле из 4 символов с заполнением '0', а затем добавить юникодбежать к строке.

Редактировать: 19feb2019 По сути, я хотел:

for x in range(0,10):
    print(chr(x))

Я узнал, что строковые литералы Unicode в Python являются странными вещами.На этой странице описаны некоторые аспекты проблемного пространства - https://www.pythonsheets.com/notes/python-unicode.html. строковый литерал Unicode

индекс 0 строкового литерала Unicode

cli- '\ u0006' [0]

Out [29]: '\ x06'

Литеральный индекс строки Unicode для символа 3 является ошибкой

cli- '\ u0006' [2]

Traceback(последний вызов был последним):

Файл "ipython-input-30-3fb346b8fd83", строка 1, в '\ u0006' [2]

IndexError: строковый индекс выходит за пределы

Edit: 20feb2019

éééé

Сколько символов равняется éééé?

Впервые я заметил, что в моем редакторе (textpad) это занимает2 стрелки вправо, чтобы пройти один символ.В конце файла позиция файла равна 9, она начинается с 1 и заканчивается на 9.

...