Senior
22
Как хранится картинка в PostgreSQL — это какая-то кодировка или набор цифр? Как картинку хранить в виде текста?
Companies where asked
Answer from AI
sobes.tech AI
В PostgreSQL картинка обычно хранится в виде бинарных данных в поле типа bytea или в объекте large object (LOB). Это не кодировка в привычном смысле, а просто последовательность байтов, представляющих содержимое файла.
Чтобы хранить картинку в виде текста, её можно закодировать в Base64 — это преобразует бинарные данные в ASCII-строку, которую можно сохранить в текстовом поле. Однако такой способ увеличивает размер данных примерно на 33%.
Пример хранения картинки в Base64 в Go:
import (
"encoding/base64"
"io/ioutil"
"log"
)
func encodeImageToBase64(path string) string {
data, err := ioutil.ReadFile(path)
if err != nil {
log.Fatal(err)
}
return base64.StdEncoding.EncodeToString(data)
}
В базе можно сохранить эту строку в поле типа text или varchar. При необходимости её можно декодировать обратно в бинарный формат.