В Python 2 преобразование шестнадцатеричной формы строки в соответствующий юникод было простым:
comments.decode("hex")
где переменная 'comments' является частью строки в файле (остальная часть строки не нуждается в преобразовании, поскольку она представлена только в ASCII.
Теперь в Python 3 это не работает (я предполагаю, что из-за переключения между байтами/строкой и строкой/юникодом. Я чувствую, что в Python 3 должен быть однострочный, чтобы делать то же самое, вместо того, чтобы читать всю строку в виде ряда байтов (что я не хочу делать), а затем преобразовывать каждую часть строки отдельно. Если это возможно, я бы хотел прочитать всю строку как строку юникода (потому что остальная часть строки находится в юникоде) и только преобразовать эту часть из шестнадцатеричного представления.