преобразовать байт в строку в рельсах - PullRequest
0 голосов
/ 11 июня 2019

как преобразовать байтовые данные в строку, чтобы я выполнил декодирование base64, а затем распаковал zlib.

пример: data = b'eJzLSM3JyQcABiwCFQ=='

Zlib::Inflate.inflate(Base64.decode64(bin_to_hex(data)))

def bin_to_hex(s)
s.unpack('C*').first
end

Я получаю "\xE2" from ASCII-8BIT to UTF-8 также получаю undefined method распаковываю

1 Ответ

2 голосов
/ 11 июня 2019

Вы слишком усложняете вещи.Я понятия не имею, что должен означать ведущий b в литерале данных, но это будет работать:

require 'base64'
Zlib::Inflate.inflate Base64.decode64('eJzLSM3JyQcABiwCFQ==')
#⇒ "hello"
...