Ruby字节数组转换为十六进制字符串

Python013

Ruby字节数组转换为十六进制字符串,第1张

str = "Ruby"

str.split(//).each {|e|print (e.unpack('H*').to_s + "\n")}

#irb

# 52

# 75

# 62

# 79

# =>["R", "u", "b", "y"]

我想你应该尝试一个字节转换成二进制代码时,通常是一个字节的十六进制表示,如E2,二进制为:11100010,也可以自己转换,你也可以自定义计算机科学计算器用十六进制数输入E2,然后点击二进制,你可以转换。

十六进制转换成十进制方法:“按权展开求和”,例十六进数:(2AF5)H=2*16^3+10*16^2+15*16^1+5*16^0=8192+2560+240+5=10997。

十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

十进制,即①满十进一,满二十进二,以此类推……②按权展开,第一位权为10^0,第二位10^1……以此类推,第N位10^(N-1),该数的数值等于每位位的数值*该位对应的权值之和。

进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。