代码之家  ›  专栏  ›  技术社区  ›  kubi

如何使用Ruby中的utf-16le源代码?

  •  3
  • kubi  · 技术社区  · 14 年前

    我有以下文件 test.rb 编码在 UTF-16LE

    # encoding: UTF-16LE
    
    test = "test!"
    p test
    

    用以下命令运行它不会产生任何结果

    ruby ./test.rb
    

    我这里缺什么?


    如果有人想知道,我将源代码设置为utf-16le编码的原因是我使用的是utf-16le输入和输出文件编码。我的印象是,如果我在读取文件时正确设置编码,在输出时正确设置编码,并且 # encoding: 在我的源代码中正确设置,一切都应该正常工作。如果有人发现这有什么问题(或者更简单的方法),请随时通知我。

    1 回复  |  直到 14 年前
        1
  •  7
  •   Mladen Jablanović    14 年前

    excellent series

    s = ''
    File.open('utf16le.txt', 'rb:UTF-16LE') do |f| # here you set the encoding
      s = f.read
    end
    p s.encoding
    #=> #<Encoding:UTF-16LE>
    p s.length
    #=> 19
    p s
    #=> "test\nmladen\n\u0436\u045F\u0446\u0432\u0431\n\n"
    

    http://ruby-doc.org/ruby-1.9/classes/IO.html