Project1
标题:
字符串怎么化成16进制的数字?
[打印本页]
作者:
secondsen
时间:
2009-10-28 11:56
标题:
字符串怎么化成16进制的数字?
本帖最后由 secondsen 于 2009-10-28 20:33 编辑
自己解决了。。。。
作者:
123955763
时间:
2009-10-28 14:30
提示:
作者被禁止或删除 内容自动屏蔽
作者:
secondsen
时间:
2009-10-28 14:36
你少了反斜杠,另\377是八进制的表示方法
再问个问题怎么吧0xFF再变回"\377"?
作者:
123955763
时间:
2009-10-28 14:57
提示:
作者被禁止或删除 内容自动屏蔽
作者:
secondsen
时间:
2009-10-28 15:43
"\377"就是一个字符啊用FF来存的这是八进制。十进制是255。
作者:
secondsen
时间:
2009-10-28 16:23
这就相当于ascii码啊,用什么数存这个字符就把这个数写出来,另一个问题就是把数在写成他代表的字符
作者:
神思
时间:
2009-10-28 19:22
本帖最后由 神思 于 2009-10-28 19:44 编辑
先转10 再转16
def _8to16_str(str)
temp = str.split(//)
int = 0
for i in 0...temp.size
int += ((temp[i].to_i) * (8 ** ((temp.size - 1) - i)))
end
return int.to_s(16)
end
复制代码
p _8to16_str("377") # => ff
作者:
secondsen
时间:
2009-10-28 20:03
不是"377" 是 "\377"呐
作者:
神思
时间:
2009-10-28 20:15
晕。这有区别么?
作者:
secondsen
时间:
2009-10-28 20:28
本帖最后由 secondsen 于 2009-10-28 20:32 编辑
靠自己。。
class String
def to16
s = ""
self.each_byte do |b|
s += b.to_s(16)
end
return s
end
end
a = "\377"
p a.to16 #=> "ff"
复制代码
作者:
secondsen
时间:
2009-10-28 20:43
"\141"和"a"没有区别。。。但是 "141"和"a"可就完全不一样了阿。。。
我另一个问题也有答案了
Integer#chr
作者:
secondsen
时间:
2009-10-28 20:45
回神思
"141"和"a"有没有区别?? 而"a","\141"没有区别。。。
另一个问题有答案了
Integer#chr
作者:
神思
时间:
2009-10-28 20:52
我没记错的话一开始你的问题是如何将八进制(\377)转换为十六进制的0xff。然而那段代码东西完成了这个工作。
我不知道你后面那2个贴子回复是什么意思。就这种语气。…我靠!
作者:
secondsen
时间:
2009-10-28 22:00
我没别的意思啊。。。帖子还发重复了。。。你那个是将"377"带进去了,我顶楼给的是"\377"啊。。
他俩不一样。重申我没别的意思。。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1