ruby - 红宝石中从十六进制到十进制的转换
问题描述
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.ord
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.to_i
=> 115792089237316195423570985008687907853269984665640564039457584007908834671663
有人可以解释一下为什么这两种方法都返回相同的整数值吗?我不确定我是否理解方法命令...
返回字符串第一个字符的代码点,假设是单字节字符编码"
我发现了,但是在这里我得到了一个十六进制值,然后我使用了该方法然后得到了一个十进制值,所以“什么是十六进制?” :D
PS:肯定是十进制值还是我错了?
解决方案
您已经引用并在String#ord
这里调用-该值不是十进制,也不是字符串,而是整数。#ord
Integer
ord → self
返回
int
自身。97.ord #=> 97 此方法旨在与 Ruby 1.9 中的字符文字兼容。
推荐阅读
- .net-core - .Net Core (v3.0) 中缺少 ServiceSecurityContext
- firebase - 无法使用 firebase 功能将图像上传到 firebase 存储
- php - php循环内的值更改时中断
- go - 如何丢弃列表中具有某些字符串的行并输出到新列表
- mysql - 将两个mysql表合并为一行
- wordpress - DNS 错误 - 启用站点后未找到主机
- javascript - 如何让我的阶乘生成器工作?我相信我的算法是错误的
- reactjs - 如何重命名 Material-table 中的 header.actions 字段?
- reporting-services - SSRS 桌面报表生成器应用程序无法启动
- hal - 如何启动 HAL 服务,只有在特定的 android HAL 服务之后