如何避免将n写入文件

  • 本文关键字:文件 何避免 ruby
  • 更新时间 :
  • 英文 :


我有以下最小的ruby脚本来测试base64编码

require "base64"
data = "testkjadlskjflkasjfwe08u185u12w3oqew,dmf.smxa"
path = "./example/ruby_data.bin"
encoded = Base64.encode64 data
puts encoded 
open(path, "wb") do |file|
file << encoded
end

然而,当我在例如c++, Ruby或Python中读取文件时,我遇到了在字符串末尾有换行符的问题。我想避免这种情况。我该怎么做呢?

换行是Base64.encode64编码过程的一部分。

encode64(本)

返回bin的base64编码版本。此方法符合RFC 2045。每60个编码字符添加换行。

require 'base64'
Base64.encode64("Now is the time for all good codersnto learn Ruby")

生成:

Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
UnVieQ==

还有Base64.strict_encode64,它不添加任何换行。

strict_encode64(本)

返回bin的base64编码版本。此方法符合RFC 4648。不添加换行。

data = "testkjadlskjflkasjfwe08u185u12w3oqew,dmf.smxa"
Base64.encode64 data
#=> "dGVzdGtqYWRsc2tqZmxrYXNqZndlMDh1MTg1dTEydzNvcWV3LGRtZi5zbXhhn"
Base64.strict_encode64 data
#=> "dGVzdGtqYWRsc2tqZmxrYXNqZndlMDh1MTg1dTEydzNvcWV3LGRtZi5zbXhh"

将换行符从编码字符串中删除后,它也不会写入文件。

相关内容

  • 没有找到相关文章

最新更新