Use readBin:

readBin('/path/to/file', 'raw', n=1000000)

Here is an example of reading in a JPEG file:

> x <- readBin(fileName,'raw',n=1000000)
> str(x)
 raw [1:801403] ff d8 ff e1 ...
> # convert to a HEX string (on the first 20 bytes)
> paste(sprintf("%s", x[1:20]), collapse='')
[1] "ffd8ffe1fffe4578696600004d4d002a00000008"
>


On Sun, May 16, 2010 at 11:13 AM, Dennis Fisher <fisher@plessthan.com>wrote:

> Colleagues,
>
> I am using R to assemble RTF documents (which are plain text).  I need to
> embed a JPEG graphic that was created with R.  I presume that the steps need
> to be:
>        a.  read the file into R
>        b.  convert the object to HEX format
>        c.  write the converted object to a textfile.
>
> If I read the file into R using readLines, I get the following (only the
> first 5 lines shown):
> > > readLines("/path/to/file")
> >  [1] "\xff\xd8\xff\xe0"
> >  [2] "\002\xa3\003\001\""
> >  [3] "\v\xff\xc4"
> >  [4]
> "\026\027\030\031\032%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xc4"
> >  [5] "\v\xff\xc4"
>
>
> and I also receive a number of warning messages:
> > Warning messages:
> > 1: In encodeString(object, quote = "\"", na.encode = FALSE) :
> >   it is not known that wchar_t is Unicode on this platform
>
> I assume (naively) that I need some other approach to reading the file.  I
> also presume (again, naively) that once I have read the file successfully, I
> can convert the contents to hex format.  However, it is not obvious to me
> what approach should be used to read the file.  I found the command
> read.jpeg (in rimage; of note, I needed to use the Windows version because
> the OSX version appears to be broken).  However, this command creates an
> "imagematrix", which does not appear to be what I need.
>
> Any thoughts?
>
> Thanks in advance.
>
> Dennis
>
> Dennis Fisher MD
> P < (The "P Less Than" Company)
> Phone: 1-866-PLessThan (1-866-753-7784)
> Fax: 1-866-PLessThan (1-866-753-7784)
> www.PLessThan.com <http://www.plessthan.com/>
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

	[[alternative HTML version deleted]]

