2014-04-17 71 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的詛咒。回答太慢,有人首先得到幾乎完全相同的迴應。 –