2009-02-05 4 views
9

У меня есть строка, содержащая байтовые данные.
Как я могу выполнить преобразование на месте в строку ascii?Преобразование двоичных данных в строку в ruby ​​

+0

Немного расплывчато ... – Keltia

+1

Какую строку ascii вы хотите увидеть? Битовая строка («0101110110»), hex («0AFC43») или просто что-то упорядоченное в ascii для декодирования в другом месте? –

ответ

15

Другой способ воспроизведения двоичных данных - String#unpack.

+5

Спасибо - распаковать ('H *') сделал работу. –

+0

Предположим, что двоичные данные являются представлением арабского текста .. (текст, который я получаю как некоторый giberrish, например '', '± Ø ¢ Ù † '.. как я его распакую, чтобы выглядеть как оригинальный арабский (т.е. некоторые арабские кодировки или что-то еще)? – abbood

+0

Есть ли эквивалент JavaScript? – arjun

6

Вы можете сделать это с помощью base64, который является довольно универсальным способом.

require 'base64' 

str = Base64.encode64(data) 
+0

данные должны быть преобразованы в String, чтобы это работало. Try, например: IRB (основной): 002: 0> Base64.encode64 (1234) TypeError: не может конвертировать Fixnum в Струнный –

Смежные вопросы