質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

2200閲覧

Ruby packの使い方 文字列をビットに変換して表示させる

kazuyakazuya

総合スコア193

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/08/20 06:35

編集2019/08/20 06:50

Rubyで文字列をビットに変換し
そのビット列を表示させることは可能なのでしょうか?

ruby

1puts "Hello World!"

この中に入っているHello World!も
機械語では0と1で表現されているのかと思うのですが
それを出力させたいです。

調べていくと
packメソッド リファレンス
があるみたいなので使ってみたのですが

ruby

1ary = ["Hello","World"] 2string = ary.pack("A*") 3puts string

実行結果

cmd

1Hello

何が原因原因なのでしょうか?
自分は0と1でできた数列を期待していたのですが・・・

イメージ説明
packの引数に指定するテンプレート文字について書かれているのですが
そもそも
このテンプレート文字とは
バイナリ化させたい文字の形式を指定するのですか?

分からないので参考になるリンクまたは説明をお願いします。

解決方法

ruby

1string = "Hello" 2num = string.unpack('b*') 3puts num 4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Rubyで文字列をビットに変換し

そのビット列を表示させることは可能なのでしょうか?

はい、ご提示のpackのテンプレート文字列一覧に、「B ビットストリング(各バイトごとに上位ビットから下位ビット)」というのがあります。

ruby

1p 'Hello'.unpack('B*') # => ["0001001010100110001101100011011011110110"]

投稿2019/08/20 06:39

編集2019/08/20 06:47
maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuyakazuya

2019/08/20 06:49

できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問