ruby如何创建一个带编码的文件

2019-03-25 13:48|来源: 网路

比如创建一个文件是file=File.new("file.rb","w")
如果让file.rb的编码是utf-8呢

相关问答

更多
  • 文件夹名为“.xxx”的文件为隐藏文件, 可以使用 mkdir .xxx 直接来创建;前提条件是你要有root权限; 创建好后,可以使用ls -la 命令查看的到!
  • 我认为这很简短: Dir.glob(File.join(path, '*.*')).max { |a,b| File.ctime(a) <=> File.ctime(b) } I think this is fairly brief: Dir.glob(File.join(path, '*.*')).max { |a,b| File.ctime(a) <=> File.ctime(b) }
  • 使用: File.open("out.txt", [your-option-string]) {|f| f.write("write your stuff here") } 你的选择是: r - 只读。 该文件必须存在。 w - 创建一个空文件进行写入。 a - 追加到文件。如果文件不存在,则创建该文件。 r+ - 打开文件以进行读取和写入。 该文件必须存在。 w+ - 为读取和写入创建一个空文件。 a+ - 打开一个文件进行阅读和追加。 如果文件不存在,则创建该文件。 在你的情况下, 'w'是最好的。 ...
  • 您在阅读文件时没有指定编码。 除了那里之外,你一直非常小心地指定它,但是你用默认编码读它。 File.open('foo.txt', "w:iso-8859-1") {|f| f << 'fòo'.force_encoding('iso-8859-1')} File.open('foo.txt', "r:iso-8859-1") {|f| puts f.read().encoding } # => ISO-8859-1 还请注意,您可能的意思是'fòo'.encode('iso-8859-1')而不是' ...
  • 您需要以二进制文件打开文件才能获得正确的编码。 file = File.new(path, 'wb') 像这样检查编码 puts file.encoding 它应该是'ASCII-8BIT'。 对你的解密文件内容做同样的事情,它应该是相同的编码,否则你需要像这样转换它。 Document.find(123).fetch_file.force_encoding('ASCII-8BIT') 您还可以使用File.binread(file)和File.binwrite(file, content) http ...
  • 这个问题很可能是通过以错误的编码保存文件引起的。 比如说,你的文件中有unicode符号“★”。 将其保存为ASCII或Latin1或其他每符号1字节的编码,会丢失一些数据 。 符号“ ”称为替换字符 。 它用于表示“这里显示的是转换编码过程中显然丢失的unicode”。 That issue most likely induced by saving the file in wrong encoding. Say, you have unicode symbol “★” in your file. Sav ...
  • 不可能知道文件的编码是什么,但是可以做出有根据的猜测。 当你打开一个文件时,ruby只是假设它是用默认的8位编码编码的(在你的情况下是CP850)。 请参阅检测编码 什么是ANSI格式? 关于ANSI It is impossible to tell what encoding a file is, but it's possible to make an educated guess. When you open a file, ruby simply assumes it's encoded with ...
  • 用引号括起符号名称: :'hello[]' Surround the name of the symbol in quotes: :'hello[]'
  • 你的safe_str方法(当前)实际上从不对字符串做任何事情,它是一个无操作。 Ruby 1.9.3上String#encode的文档说 : 请注意,从编码enc到相同编码enc的转换是无操作,即接收器在没有任何更改的情况下返回,并且即使存在无效字节也不会引发异常。 这对于当前版本的2.0.0(补丁级别247)来说都是如此,但是最近对Ruby主干的提交改变了这一点,并且还引入了一种几乎可以完成您想要的scrub方法。 在发布新版本的Ruby之前,您需要将文本字符串往返到另一个编码并返回以清除它,如在您链接到 ...
  • Ruby中支持很多编码。 尝试在irb中键入以下内容: Encoding.name_list 另请参阅以下博客条目: Ruby 1.9 String Ruby 1.9:默认编码 There are lots of encodings supported in Ruby. Try typing the following in irb: Encoding.name_list Also see these blog entries: Ruby 1.9 String Ruby 1.9: default enc ...