【发布时间】:2016-05-05 07:44:34
【问题描述】:
我从一封电子邮件的正文中提取了这个:
txt <- "PHRhYmxlIGFsaWduPSJjZW50ZXIiIGNlbGxzcGFjaW5nPSIwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0icGFkZGluZy10b3A6IDEwcHg7IiB3aWR0aD0iNjEycHgiPgoJPHRyPgoJCTx0ZCB3aWR0aD0iNjEycHgiIGhlaWdodD0iMTM2cHgiIHN0eWxlPSJsaW5lLWhlaWdodDogMDtwYWRkaW5nOjA7Ij48aW1nIHNyYz0iaHR0cHM6Ly9kMjZraHJ2OHhkNW9hYS5jbG91ZGZyb250Lm5ldC9lZG0vYmdfbG9nb19kZWZhdWx0XzYxMngxMzYuZ2lmIiB3aWR0aD0iNjEycHgiIGhlaWdodD0iMTM2cHgiIC8-PC90ZD4KCTwvdHI-CQoJPHRyPgoJCTx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjYxMnB4IiBzdHlsZT0ibGluZS1oZWlnaHQ6IDA7cGFkZGlu"
(出于保密原因,我将消息删减为 500 个字符)
我需要把它转换成html。
txt = substr(txt,1,500)
RCurl::base64Decode(txt = txt)
但是,这只是信息的第一部分:
<table align=\"center\" cellspacing=\"0\" border=\"0\" cellpadding=\"0\" style=\"padding-top: 10px;\" width=\"612px\">\n\t<tr>\n\t\t<td width=\"612px\" height=\"136px\" style=\"line-height: 0;padding:0;\"><img src=\"https://d26khrv8xd5oaa.cloudfront.net/edm/bg_logo_default_612x136.gif\" width=\"612px\" height=\"136px\"
似乎有一个特殊字符会造成问题,但我找不到确切的问题。是不是ISO/UTF编码的问题?
注意:如果我使用带有 ISO-8859-1 的在线工具 https://www.base64decode.org/,我会得到更多字符(尽管解码字符对我来说没有意义)
<table align="center" cellspacing="0" border="0" cellpadding="0" style="padding-top: 10px;" width="612px">
<tr>
<td width="612px" height="136px" style="line-height: 0;padding:0;"><img src="https://d26khrv8xd5oaa.cloudfront.net/edm/bg_logo_default_612x136.gif" width="612px" height="136px" /ÝOÝ ÇG#à ÇFBfÆvãÒ'F÷"vGFÒ#c'"7GÆSÒ&ÆæRÖVvC¢·FF
【问题讨论】:
-
我使用
rawToChar(RCurl::base64Decode(txt = txt, mode = "raw"))获得了更多字符,但出现了错误。 -
@Pascal 此处相同,但多余的字符很奇怪(/\017\v\335\031\017\202\202O\v\335\034\200\220\240\223\ 307G#\340\240\220\223\307FB\af\026\306\226v\343\322'F\367\002"\av\226GF\203\322#c\023'\a\202"\ a7G\226\306S\322&\306\226\346R\326\206V\226v\207C\242\003\003\267\006\026FF\226\346s\243\003\262($$$\361\ 321\205\211\261\224) 。因此我想知道是否有办法指定字符的 ISO?
-
我看到
<table align="center" cellspacing="0" border="0" cellpadding="0" style="padding-top: 10px;" width="612px">\n\t<tr>\n\t\t<td width="612px" height="136px" style="line-height: 0;padding:0;"><img src="https://d26khrv8xd5oaa.cloudfront.net/edm/bg_logo_default_612x136.gif" width="612px" height="136px"\0\x80\xbc</td>\n\t</\001\xd1\xc8\t\n\t<tr>\n\t\t<td valign="top" width="612px" style="line-height: 0;paddin -
@Pascal
getOption("encoding")和Sys.getlocale("LC_CTYPE")在您的计算机上返回什么? -
好问题。分别为
"native.enc"和"en_US.UTF-8"(Ubuntu 14.04)。
标签: r base64 ascii mime-types mime