Как в Python перевести string в bytes, не меняя string? Нужно сохранять список паролей в БД в зашифрованом виде, используется библиотека scrypt. Пароли она шифрует в байтах, то есть выглядит пароль примерно так: b"scrypt\x00\x11\x00\x00\x00\x08\x00\x.... Но в базу этот пароль записывается как строка, а для расшифровки нужны именно байты. Как перевести строку подобного вида в байти, сохранив её структуру?
Для перевода строки в байты в Python можно использовать метод encode(), который преобразует строку в байты, используя определенную кодировку. Чтобы сохранить структуру байтов, можно использовать метод ast.literal_eval() для преобразования строки в литерал Python.
Пример:
import ast # Пример строки string = 'b"scrypt\x00\x11\x00\x00\x00\x08\x00"' # Преобразование строки в байты bytes_data = ast.literal_eval(string.encode('utf-8')) print(bytes_data)
Этот код сначала преобразует строку в байты, затем использует ast.literal_eval() для преобразования строки в литерал Python. В результате будет сохранена структура байтов.
Для перевода строки в байты в Python можно использовать метод encode(), который преобразует строку в байты, используя определенную кодировку. Чтобы сохранить структуру байтов, можно использовать метод ast.literal_eval() для преобразования строки в литерал Python.
Пример:
import ast# Пример строки
string = 'b"scrypt\x00\x11\x00\x00\x00\x08\x00"'
# Преобразование строки в байты
bytes_data = ast.literal_eval(string.encode('utf-8'))
print(bytes_data)
Этот код сначала преобразует строку в байты, затем использует ast.literal_eval() для преобразования строки в литерал Python. В результате будет сохранена структура байтов.