Encode or decode 'base64' raw or url-safe string
Usage
base64_urlencode(x)
base64_encode(x)
base64_urldecode(x)
base64_decode(x)
base64_plot(
expr,
width = 480,
height = 480,
...,
quoted = FALSE,
envir = parent.frame()
)
Value
base64_encode
, base64_plot
returns 'base64' string in
raw format; base64_urlencode
returns 'base64' string url-safe format;
base64_urldecode
returns the original string; base64_decode
returns original raw vectors.
Examples
# ---- For direct base64URI ------------------------------------
file_raw <- as.raw(1:255)
# raw base64
base64_raw <- base64_encode(file_raw)
base64_raw
#> [1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7/"
as.integer(base64_decode(base64_raw))
#> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#> [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
#> [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
#> [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
#> [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
#> [91] 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
#> [109] 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
#> [127] 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
#> [145] 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
#> [163] 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
#> [181] 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
#> [199] 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
#> [217] 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
#> [235] 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
#> [253] 253 254 255
# ---- For URL-save base64 ------------------------------------
# Can be used in URL
base64_url <- base64_urlencode(
paste(c(letters, LETTERS, 0:9),
collapse = ""))
base64_url
#> [1] "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODk"
base64_urldecode(base64_url)
#> [1] "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
# ---- Convert R plots to base64 --------------------------------
img <- base64_plot({
plot(1:10)
}, width = 320, height = 320)
# summary
print(img)
#> <Base64DataURI: type=data:image/png, width=320px, height=320px>
# get base64 content
img_base64 <- format(img, type = "content")
# save to png
tmppng <- tempfile(fileext = ".png")
writeBin(base64_decode(img_base64), con = tmppng)
# cleanup
unlink(tmppng)
# Format as svg
format(img, type = "html_svg")
#> <image x="0" y="0" width="320" height="320" xlink:href="data:image/png;base64,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" opacity="1"></image>