【发布时间】:2019-05-09 18:44:57
【问题描述】:
我需要解压缩十六进制值并将其转换为字符串。
实际问题是我无法弄清楚如何解压缩十六进制值
十六进制不包含任何标题, 如果我将十六进制代码复制到 CyberChef,我可以解压缩这些代码并获得原始字符串
在 CyberChef 中只需要 Raw Inflate 操作 所以我希望帮助如何在 R
中进行原始膨胀我已经尝试使用所有选项进行 memDecompress 没有成功(即 gzip 等)
更新: 这是十六进制的示例: e3 0e 71 0d 0e f1 54 c8 cb 2f 52 30 02 00 我可以使用 CyberChef 将其转换为字符串 ".TESTI 也没有 2"
RLdata<- sqlQuery(connection, ..... AS Varbinary(max) AS NOTEShort ......
> RLdata$NOTEshort[4268]
[[1]]
[1] e3 0e 71 0d 0e f1 54 c8 cb 2f 52 30 02 00
> unlist(RLdata$NOTEshort[4268])
[1] e3 0e 71 0d 0e f1 54 c8 cb 2f 52 30 02 00
> memDecompress(unlist(RLdata$NOTEshort[4268]),type = "gzip", asChar = TRUE)
Error in memDecompress(unlist(RLdata$NOTEshort[4268]), type = "gzip", :
internal error -3 in memDecompress(2)
> memDecompress(unlist(RLdata$NOTEshort[4268]),type = "unknown", asChar = TRUE)
[1] "ã\016q\r\016ñTÈË/R0\002"
Warning message:
In memDecompress(unlist(RLdata$NOTEshort[4268]), type = "unknown", :
unknown compression, assuming none
【问题讨论】:
-
你能发布一个你已经尝试过的sn-p吗?
-
已更新,请见上文
-
CyberChef 似乎为此目的使用了 zlibjs 库。 R ...是否存在类似的软件包?无法从 CRAN 中找到 zlib :(
标签: r compression zlib inflate