私は "\001\022"
aの値を持っています。私の希望する10進値は274です。
次の関数を試しました。しかし、私は["0112"]を得る
a.unpack("H*") ==> ["0112"]
この「0112」を電卓で10進数に変換すると274になります。
ありがとう
質問のフォーマット文字列「H *」は、「16進文字列(最初に上位ニブル)」用です。したがって、文字列を 4 ビットの 16 進数要素の配列としてデコードしました。
別の形式が必要です。
「16ビットの符号なし、ネットワーク(ビッグエンディアン)バイトオーダー」整数としてデコードするこれを試してください:
a.unpack("n") # => [274]
フォーマット文字列で使用できる文字の詳細については、Ruby ドキュメントの String#unpack を確認してください。