如何将StringIO(pdf)数据保存到文件中

Paritosh piplewar

我想pdf用ruby保存位于外部远程服务器中的文件。pdf文件即将传入StringIO我尝试使用保存数据,File.write但无法正常工作。我收到以下错误。

ArgumentError: string contains null byte

现在如何保存?

7stud
require 'stringio'

sio = StringIO.new("he\x00llo")

File.open('data.txt', 'w') do |f|
  f.puts(sio.read)
end


$ cat data.txt
hello

对评论的回应

好的,试试这个:

require 'stringio'

sio = StringIO.new("\c2\xb5") 
sio.set_encoding('ASCII-8BIT')  #Apparently, this is what you have.

File.open('data.txt', 'w:utf-8') do |f|
  f.puts(sio.read)
end

--output:--
1.rb:7:in `write': "\xB5" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

要消除该错误,可以将StringIO的编码设置为UTF-8:

require 'stringio'

sio = StringIO.new("\c2\xb5") 
sio.set_encoding('ASCII-8BIT')  #Apparently, this is what you have.

sio.set_encoding('UTF-8')  #Change the encoding to what it should be.

File.open('data.txt', 'w:UTF-8') do |f|
  f.puts(sio.read)
end

或者,您可以使用File.open模式:

require 'stringio'

sio = StringIO.new("\c2\xb5") 
sio.set_encoding('ASCII-8BIT')  #Apparently, this is what you have.

File.open('data.txt', 'w:UTF-8:ASCII-8BIT') do |f|
  f.puts(sio.read)
end

但是,这假设数据是以UTF-8编码的。如果您实际上有二进制数据,即由于例如代表.jpg文件而未编码的数据,那么它将不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Tensorflow数据集保存到文件中?

来自分类Dev

如何将抓取数据保存到CSV文件中?

来自分类Dev

MarkLogic-如何将pdf保存到文件系统

来自分类Dev

如何将pdf文件保存到Google云端硬盘?

来自分类Dev

如何将PHP会话数据保存到数据库而不是文件系统中?

来自分类Dev

如何将数据从变量保存到文件?

来自分类Dev

如何将XML数据从URL保存到文件?

来自分类Dev

如何将数据框信息中的输出保存到Excel或文本文件中

来自分类Dev

如何将html表单中的数据保存到文件中?

来自分类Dev

如何将 .txt 文件中的数据保存到 JavaScript 中的数组?

来自分类Dev

如何将数据保存到plist文件中的多维数组

来自分类Dev

我如何将日志/数据持久保存到Docker中的本地文件系统

来自分类Dev

如何将数据框信息的输出保存到Excel或文本文件中

来自分类Dev

如何将png文件保存到数据库FLASK中?

来自分类Dev

如何将Scrapy的输出保存到文件或数据库中

来自分类Dev

如何将 OSRM 中的 geojson 数据保存到文本文件

来自分类Dev

如何将数据从JSON保存到NodeJS中的变量

来自分类Dev

如何将数据保存到Rails中的多个表

来自分类Dev

如何将api数据保存到本地存储中?

来自分类Dev

如何将哈希集保存到Android中的文件?

来自分类Dev

如何将HashDicts保存到Elixir中的文件

来自分类Dev

如何将glmnet模型保存到R中的文件?

来自分类Dev

如何将字典列表保存到文件中?

来自分类Dev

如何将当前的tig选项保存到文件中

来自分类Dev

如何将结果保存到文件中?

来自分类Dev

如何将持久变量保存到.mat文件中?

来自分类Dev

如何将列表中的结果保存到.txt文件?

来自分类Dev

如何将内容从JTextField保存到文件中

来自分类Dev

如何将终端输出保存到文件中?

Related 相关文章

  1. 1

    如何将Tensorflow数据集保存到文件中?

  2. 2

    如何将抓取数据保存到CSV文件中?

  3. 3

    MarkLogic-如何将pdf保存到文件系统

  4. 4

    如何将pdf文件保存到Google云端硬盘?

  5. 5

    如何将PHP会话数据保存到数据库而不是文件系统中?

  6. 6

    如何将数据从变量保存到文件?

  7. 7

    如何将XML数据从URL保存到文件?

  8. 8

    如何将数据框信息中的输出保存到Excel或文本文件中

  9. 9

    如何将html表单中的数据保存到文件中?

  10. 10

    如何将 .txt 文件中的数据保存到 JavaScript 中的数组?

  11. 11

    如何将数据保存到plist文件中的多维数组

  12. 12

    我如何将日志/数据持久保存到Docker中的本地文件系统

  13. 13

    如何将数据框信息的输出保存到Excel或文本文件中

  14. 14

    如何将png文件保存到数据库FLASK中?

  15. 15

    如何将Scrapy的输出保存到文件或数据库中

  16. 16

    如何将 OSRM 中的 geojson 数据保存到文本文件

  17. 17

    如何将数据从JSON保存到NodeJS中的变量

  18. 18

    如何将数据保存到Rails中的多个表

  19. 19

    如何将api数据保存到本地存储中?

  20. 20

    如何将哈希集保存到Android中的文件?

  21. 21

    如何将HashDicts保存到Elixir中的文件

  22. 22

    如何将glmnet模型保存到R中的文件?

  23. 23

    如何将字典列表保存到文件中?

  24. 24

    如何将当前的tig选项保存到文件中

  25. 25

    如何将结果保存到文件中?

  26. 26

    如何将持久变量保存到.mat文件中?

  27. 27

    如何将列表中的结果保存到.txt文件?

  28. 28

    如何将内容从JTextField保存到文件中

  29. 29

    如何将终端输出保存到文件中?

热门标签

归档