📜  elixir 将 base64 写入文件 - Elixir (1)

📅  最后修改于: 2023-12-03 15:14:51.679000             🧑  作者: Mango

Elixir中使用base64将数据写到文件中

Base64是一种用于将二进制数据编码为ASCII字符的编码方式。在Elixir中,我们可以使用内置的Base模块来编码或解码数据,同时可以使用File模块将数据写入文件中。

编码数据

要将数据编码为Base64字符串,我们可以使用Base.encode64/1函数。以下是一个示例:

data = <<123, 234, 45, 67, 89, 101, 202, 176>>
encoded_data = Base.encode64(data)

IO.puts encoded_data
# 输出: "eDq9R1iZguw="

在上面的示例中,我们创建了一个二进制数据data,然后使用Base.encode64/1函数将其编码为Base64字符串。编码后的数据存储在encoded_data变量中。

将编码数据写入文件

要将编码的数据写入文件中,我们可以使用 File.write/2 函数。以下是一个示例:

filename = "data.txt"
data = <<123, 234, 45, 67, 89, 101, 202, 176>>
encoded_data = Base.encode64(data)

File.write(filename, encoded_data)

IO.puts "Data has been written to #{filename} file."

在上面的示例中,我们创建了一个名为filename的文件,将原始数据data编码为Base64字符串,并将其写入文件中。

从文件中读取数据并将其解码

要从文件中读取数据并将其解码为原始二进制数据,我们可以使用 File.read/1 函数和 Base.decode64/1 函数。以下是一个示例:

filename = "data.txt"

{:ok, data} = File.read(filename)
decoded_data = Base.decode64(data)

IO.inspect decoded_data
# 输出: <<123, 234, 45, 67, 89, 101, 202, 176>>

在上面的示例中,我们读取了filename文件中的数据,并将其存储在data变量中。然后,我们将data解码为原始二进制数据,并将其存储在decoded_data变量中。

总结:使用Elixir的Base和File模块可以轻松地将数据编码为Base64字符串并将其写入文件中。同时,我们也可以从文件中读取编码的数据并将其解码回原始二进制数据。