Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Как сконвертировать bytea

Пока сегодня ехал домой с военного поиска (я в таком уже участвовал в прошлом году), написала в «телеграм» дипломница — она не смогла разобраться как сконвертировать в буквы формат постгреса bytea, в котором мы ей выгрузили кое-какие данные по её теме.

Ограничусь фотографией на которой почти ничего не видно, дабы не эпатировать публику

Отдельно про поездку рассказывать не буду, я вообще подумал, что пора завязывать с публикациями на такие темы, а пока ехал, накидал на коленке функцию на Пайтоне, положу сюда, чтобы не потерялась:

def decodeBytea(bytes: bytearray, charset: str) -> str:
	if bytes[:2] == b'\\x':
		return bytearray.fromhex(bytes[2:].decode()).decode(charset)
	else:
		raise ValueError('Invalid format')

Формат немудрёный — впереди слеш-экс, дальше идут шестнадцатеричные коды байт, которые надо превратить в символы.

4 комментария
Sergey Cheban 2018

я вообще подумал, что пора завязывать с публикациями на такие темы

Дело Ваше, но мне, например, они нравились (я про поисковую тематику вообще).

Евгений Степанищев 2018

Возможно надо формат изменить, просто выкладывать фото монет как-то мне уже не интересно :)

Alexander 2018

Понятно, что на десятый раз думаешь, а зачем оно? Но читать, да, интересно, так же как когда-то про фрукты или про книги. ) Тянет айтишников на упорядоченное. ))

Евгений Степанищев 2018

Ленюсь уже фоткать, если честно, но может стоит о самых необычных вещах писать, благо они нечасто находятся :)