이미지의 Base64 인코딩은 배포하거나 공유하기 쉬운 HTML 페이지를 모두 만드는 R Studio Markdown의 정말 멋진 기능입니다. 이미지를 별도의 파일로 유지하는 것에 대해 걱정할 필요가 없습니다. 브라우저는 어떻게 처리해야하는지 알고 있습니다.R Markdown이있는 CSV 용 Base64 인코딩
이 기능을 CSV 파일 인코딩으로 확장하고 싶습니다. 그들이 지금 어떻게하고 있는지 보면서, 정보를 .Call에 전달하고 C/C++을 사용하여 파일 정보를 인코딩하는 것처럼 보입니다. (라인 177, 192)에서
: 이제 https://github.com/rstudio/markdown/blob/master/R/renderMarkdown.R
.b64EncodeFile <- function(inFile)
{
fileSize <- file.info(inFile)$size
if (fileSize > 0){
paste("data:", .mimeType(inFile),";base64,",
.Call(rmd_b64encode_data,readBin(inFile,'raw',n=fileSize)),
sep='')
} else {
warning(inFile,'is empty!')
inFile
}
}
.b64EncodeImages <- function(html)
{
reg <- "<\\s*[Ii][Mm][Gg]\\s+[Ss][Rr][Cc]\\s*=\\s*[\"']([^\"']+)[\"']"
m <- gregexpr(reg,html,perl=TRUE)
if (m[[1]][1] != -1)
{
.b64EncodeImgSrc <- function(imgSrc)
{
inFile <- sub(reg,"\\1",imgSrc)
if (length(inFile) && file.exists(inFile))
imgSrc <- sub(inFile,.b64EncodeFile(inFile),imgSrc,fixed=TRUE)
imgSrc
}
regmatches(html,m) <- list(unlist(lapply(regmatches(html,m)[[1]],.b64EncodeImgSrc)))
}
html
}
, 나는 CSV와 같은 일을 달성 어떻게 파일? 중요한 점은 어떻게 브라우저가 그것을 이해하게 할 수 있는가하는 것입니다.