【发布时间】:2016-04-13 04:57:17
【问题描述】:
我有一个字符串形式的八进制数字(参见下面的示例):
02686a6552f426f08ac0f20ce7dca23e
我需要使用 R 将其转换为十进制整数。我曾尝试使用谷歌搜索相关函数,但我只能找到将十进制转换为八进制的函数,例如:
as.octmode()
或者从 fBasics 包中提供十六进制和十进制基数之间的转换:
.hex.to.dec
我希望有一个函数行change.base(string,base_from,base_to),但我只能找到带有以下参数的strtoi:
strtoi("02686a6552f426f08ac0f20ce7dca23e",base=8)
这给了我一个 NA 值和文档说明“根据给定的基数将字符串转换为整数”,但它没有说明 base 参数是指定我们进行转换的基数还是转换成的基数我们转换(我假设后者,因为上面的示例 poste 不提供 retus)
似乎php函数decoct()给出了结果:
echo octdec(02686a6552f426f08ac0f20ce7dca23e)
5176
但是我真的不懂php。根据我们的开发人员 decoct(payment_id) + 3 ) * 7 是在这种情况下应用于整数的唯一操作。这被推送到谷歌分析中,它以示例形式提供结果。默认情况下,我无法在 GA 上找到任何执行此操作的内容。
如果我只有八进制的数字,在数学上进行转换会很容易,但由于格式看起来像我假设的原始数字的某种哈希表示,我一无所知。
我需要在数百条相似的记录上运行它来比较两个数据源,所以不能真正使用 php 沙箱手动进行。
感谢任何帮助或指点
【问题讨论】:
-
对我来说它看起来更像 md5.. 所以,首先你应该弄清楚这到底是什么。注意php中的
decoct将十进制转换为八进制 -
这不是八进制数,因为它包含大于 7 的数字甚至字母。它具有(巨大的)十六进制数的所有特征。
-
@Julius 我打错了我的意思是 octdect
-
@Rhertel 我已经提到它是某种哈希表示或加密,我知道八进制应该只有 0-7 之间的符号,根据开发人员的说法,推送这个数字的代码是 decoct(payment_id ) + 3 ) * 7 所以它需要是一个八进制数,只能以某种形式进行散列或加密