Я хочу получить доступ к содержимому двоичного файла в репозитории git, используя gitpython .К сожалению, repo.git.show
возвращает строку в юникоде, а не объект байтов.Поэтому я хочу преобразовать строку в байты и не могу этого сделать.
#!/usr/bin/env python
from io import BytesIO
import git
# initialize repository
repo = git.Repo('.')
# use git show to get the content of example.jpg in revision 19e91a
u = repo.git.show("4cb2a02:example.jpg")
b = BytesIO(u.encode('utf-8'))
и натолкнуться на
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcff' in position 0: surrogates not allowed
Что не удивительно.
Как можноЛи я преобразовать эту строку Unicode в байтах?Или лучше, как я могу получить содержимое файла в виде объекта байта?