2014-04-17 19 views
5

Aby przekonwertować ciągi do kodu ASCII w R, I zazwyczaj użyć:konwersji liczba ASCII do strun w R

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

Czy istnieje funkcja zrobić odwrotność, czyli

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

Dzięki.

Odpowiedz

3

Właśnie zauważyłem, że R ma funkcje intToUtf8 i utf8ToInt, które robią to samo.

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

Najlepszy znalazłem to:

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

Chociaż myślę, że lepiej jest zamknąć połączenie

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

[1] "abcd" 
7

też:

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

Rodzaj ?charToRaw w wierszu poleceń dla bardziej info.

+0

Oczywiste rozwiązanie, które przypuszczam. :-P – thelatemail

+0

Hm, jak do licha nie odpowiedziałem na to? –

+0

Prawdopodobnie stara się odpowiedzieć jako pierwsza - to przekleństwo stackoverflow. Odpowiedz zbyt wolno, a ktoś dostaje pierwszy z prawie taką samą odpowiedzią. –