プロが教えるわが家の防犯対策術!

掲題について質問です。

例えばプログラミングにおける文字列に対して
時々、「文字列はバイト列とみなすことができる。」
という記述を見かけます。

具体的にいうとRuby1.8系における文字列がそのバイト列らしいのです。

例えば、
hoge = "文字列";
print hoge.unpack("C*")
とすると
[230, 150, 135, 229, 173, 151, 229, 136, 151]
というようにUTF-8で符号化された各8bitの0~255までの値の配列が返って来ます。
これはバイト列になるのですか?

それとも
hoge = "文字列";
print hoge.unpack("H*")
["e69687 e5ad97 e58897"]
(それぞれ一文字が1byte3つ分の列となっています。)
このように16進数で表された形式がバイト列というあつかいなのでしょうか?


そしてバイナリ列とバイト列の違いはなんでしょうか?
よろしくご教授ください。

A 回答 (2件)

おなじでーたでもびっとたんいでつかえばばいなりれつばいとたんいでつかえばばいとれつ

    • good
    • 1

実態としては同じです。


0と1の並びを、1桁ずつ「何ビット」という単位で考えればバイナリ列。8桁ずつ「何バイト」と考えればバイト列。

Rubyでいうと、packした物がバイト列ですね。
文字列も(広義の)バイト列の一種です。
    • good
    • 1
この回答へのお礼

うーん。なるほど、用度で使わける程度のものですね・

お礼日時:2012/11/25 22:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています