2012-07-20 3 views
3

HTTP POST 요청을 쓰려고하는데 데이터를 먼저 바이너리 형식으로 가져와야합니다. 이것은 아마도 쉬운 질문 일 수 있습니다. 그러나 R 연결은 정말 혼란 스럽습니다. 이해할 수있는 방식으로 설명하는 좋은 리소스를 찾는 데 어려움을 겪고 있습니다.이진 데이터 쓰기 R

예를 들어 정수 (8 바이트)를 인코딩 한 다음 숫자 (4 바이트)를 인코딩하려고합니다. 여기에 내가 해봤 코드입니다 :

myint <- as.integer(1339700942) 
mydouble <- 1.2 
obj <- file(open='w+b') #I've tried textConnection too, but no good 
w.int <- writeBin(myint, obj, size=8, endian='big') 
w.double <- writeBin(mydouble, obj, size=4, endian='big') 

이 나를 연결을 열도록 허용하지만 쓴 모든 NULL했다. 이와 같은 상황에서 연결을 사용하는 올바른 방법은 무엇이며 writeBin입니까?

+0

감사합니다. Joshua! 변수 이름에 대한 나의 실수. –

+1

'? writeBin'에 따르면'con' 인수가 원시 벡터가 아니라면'NULL'을 반환합니다. 이것은 당신의 예제에 없습니다. 실제 문제에 대해 더 많은 배경 지식을 줄 수 있다면 도움이 될 것입니다. –

+0

예제는 실제 문제와 매우 비슷합니다. XDR 데이터를 웹 사이트에 게시하고 형식은 8 바이트 int 및 4 바이트 float 반복 시퀀스입니다. –

답변

3

개체 'obj'는 실제로 필요하지 않습니다. writeBin이 R 외부의 파일이 아닌 R 오브젝트에 쓰는 경우 마지막 세 줄은 다음으로 대체 할 수 있습니다.

w.int <- writeBin(myint, raw(0), size=8, endian='big') 
w.double <- writeBin(mydouble, raw(0), size=4, endian='big') 
관련 문제