2014-04-17 70 views
5

为了将字符串转换为ascii码在R,I通常使用:转换ASCII数字为字符串中的R

> strtoi(charToRaw("abcd"),16L) 
[1] 97 98 99 100 

是否有一个函数来做到的倒数,即

>myDesiredFunc(c(97 98 99 100)) 
[1] "abcd" 

感谢。

回答

3

我刚刚注意到R有一个intToUtf8utf8ToInt函数可以做同样的事情。

> test<-utf8ToInt("Apples") 
> test 
[1] 65 112 112 108 101 115 
> intToUtf8(test) 
[1] "Apples" 
1

最好的,我发现是:

readLines(rawConnection(as.raw(c(97,98,99,100,13)))) 

虽然我想这是更好地关闭连接

con = rawConnection(as.raw(c(97,98,99,100,13))) 
res = readLines(con); 
close(con); 
show(res); 

[1] "abcd" 
7

另外:

rawToChar(as.raw(c(97,98,99,100))) 

类型?charToRaw在命令提示符下更多信息。

+0

显而易见的解决方案,我想。 :-P – thelatemail

+0

嗯,我怎么没有回答这个问题? –

+0

可能试图成为第一个回答 - 这是stackoverflow的诅咒。回答太慢,有人首先得到几乎完全相同的回应。 –