Can someone explain why how the result for the following unpack is computed?
'aaa'.unpack('h2H2') #=> ['16', '61']
In binary, ‘a’ = 0110 0001. I’m not sure how the ‘h2’ can become 16 (0001 0000) or ‘H2’ can become 61 (0011 1101).
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Not 16 – it is showing 1 and then 6. h is giving the hex value of each nibble, so you get 0110 (6), then 0001 (1), depending on whether its the high or low bit you’re looking at. Use the high nibble first and you get 61, which is hex for 97 – the value of ‘a’