Кодек utf-8 не может декодировать байт 0xf0 в позиции 12 на LZ4 и Python 3.x - PullRequest
0 голосов
/ 22 сентября 2019

Я использую lz4 и JSON для декодирования файла recovery.jsonlz4 из каталога Firefox.Но я продолжаю получать эту ошибку.

Версия Firefox: 69.0

 #!/usr/bin/python3

import os, json, lz4.block

f = open("/home/<userName>/.mozilla/firefox/or9wxah0.default/sessionstore-backups/recovery.jsonlz4", "r")
magic = f.read(8)
jdata = json.loads(lz4.block.decompress(f.read()).decode("utf-8"))
f.close()
for win in jdata.get("windows"):
    for tab in win.get("tabs"):
        i = int(tab.get("index")) - 1
        urls = tab.get("entries")[i].get("url")
        print(urls)

ОШИБКА:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 12: invalid continuation byte

РЕШЕНО:

Забыл добавить 'rb'

f = open("/home/<userName>/.mozilla/firefox/or9wxah0.default/sessionstore-backups/recovery.jsonlz4", "rb")
...