给定一个单词我需要找到该单词中每个字母的十进制值并将其存储在一个数组中。
我使用strtoi
函数来实现这一目标。但后来发现下面两个应该给出相同输出的函数给出了不同的结果。有谁能解释为什么?
第一次尝试
> strtoi("d",16L)
[1] 13
第二次尝试
> strtoi(charToRaw("d"),16L)
[1] 100
16L
基础中的srtoi
是什么意思?我对十六进制,十六进制,十进制ASCII字符表示相当新。所以请分享一些有关它的信息。
答案 0 :(得分:1)
仅供参考:
library(purrr)
library(tibble)
input_str <- "Alphabet."
charToRaw(input_str) %>%
map_df(~data_frame(letter=rawToChar(.),
hex_value=toString(.),
decimal_value=as.numeric(.)))
## # A tibble: 9 × 3
## letter hex_value decimal_value
## <chr> <chr> <dbl>
## 1 A 41 65
## 2 l 6c 108
## 3 p 70 112
## 4 h 68 104
## 5 a 61 97
## 6 b 62 98
## 7 e 65 101
## 8 t 74 116
## 9 . 2e 46
因为您需要做的事情可以在基础R中完成:
as.numeric(charToRaw(input_str))
## [1] 65 108 112 104 97 98 101 116 46
如果您只需要/想要整数,也可以as.integer()
vs as.numeric()
。