`
andnnl
  • 浏览: 8818 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ruby1.9读取txt乱码问题

阅读更多
出以下错误
in `split': invalid byte sequence in GBK (ArgumentError)


解决方案:
require "iconv"

class String
  def to_gbk
    Iconv.iconv("GBK//IGNORE", "UTF-8//IGNORE", self).to_s
  end

  def to_utf8
    #p "my own string"
    Iconv.iconv("UTF-8//IGNORE", "GBK//IGNORE", self).to_s
  end

  def to_utf8_valid

    if !self.valid_encoding?
      ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
      return ic.iconv(self)
    end
    self
  end

end
puts "读取文件"
f=File.open("boss2.txt", 'r')
i=0
total=0
f.each_line do |line|
  i+=1

  line_arr=line.to_utf8_valid.split(/\t/)
  len =line_arr.length
  if (len!=41)
    puts "line: #{line_arr[0]} #{len}"
    total+=1
  end
  #puts(i,len)
end
puts "total:#{total}"

分享到:
评论

相关推荐

    Programming Ruby 1.9 (3rd edition)和源码

    《Programming Ruby 1.9 (3rd edition)》是一本专为程序员编写的关于Ruby语言的权威指南,这本书的第三版详细介绍了Ruby 1.9版本的语言特性、库以及编程实践。Ruby是一种动态、面向对象的脚本语言,以其简洁、优雅的...

    windows下安装Ruby 1.9 二进制zip包

    在Windows环境下安装Ruby 1.9,通常会涉及到编译环境的配置,因为Ruby的源码需要通过编译才能在Windows系统上运行。不过,如果你选择的是预编译的二进制zip包,这个过程就会简化很多。下面,我们将详细讨论如何通过...

    Programming Ruby 1.9

    通过阅读《Programming Ruby 1.9》,读者不仅可以掌握Ruby 1.9的最新特性,还能学习到如何编写高效、简洁的Ruby代码,以及如何利用这些新特性解决实际问题。书中的例子和练习都是为了加深理解和实践应用,对于想要在...

    透视Ruby 1.9的Lambda函数

    《Ruby 1.9中的Lambda函数详解》 Ruby语言的一大魅力在于其Block功能,它使得编写简洁、可复用的算法变得轻而易举,甚至让人们对循环的畏惧感大大降低。Block在其他编程语言中被称为Lambda函数或匿名函数,有时也被...

    为何Ruby 1.9的不兼容性会导致原有Ruby代码无法工作

    Ruby 1.9 的发布对Ruby社区带来了显著的变化,尤其是其与之前的1.8版本之间的不兼容性。这种不兼容性源于对Ruby语言及其核心库的深入修改,目的是提升语言性能和规范。Ruby 1.9.0的推出并非完全稳定,Matz,即Ruby的...

    Programming Ruby 1.9 3rd edition

    - **文件读写**:Ruby提供了方便的文件读写接口,可以通过简单的API进行文件的打开、读取、写入和关闭等操作。这对于处理大量文本数据的应用来说非常重要。 ##### 7. 命令行参数 - **命令行参数**:Ruby程序可以从...

    ruby 1.9 教程

    - **读写操作**: 如何在Ruby中进行文件的读取和写入。 - **命令行参数**: 如何在Ruby脚本中处理命令行参数,这对于编写命令行工具非常有用。 ##### 2. 类、对象和变量 - **对象和属性**: Ruby中的一切都是对象,对象...

    Programming Ruby 1.9 The Pragmatic Programmers' Guide

    《Programming Ruby 1.9 The Pragmatic Programmers' Guide》是学习Ruby编程语言的一本经典著作,尤其针对Ruby 1.9版本进行了详细的讲解。这本书由著名的Pragmatic Programmers出版,因其深入浅出的讲解和实用的编程...

    Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    Ruby是一种快速发展的激动人心的动态语言,本书是Ruby 1.9和Ruby 2.0这两个最新版本的完整参考指南。Ruby是一种完全面向对象的语言,类似于经典的面向对象语言Smalltalk。与Smalltalk一样,它是动态类型的,但与...

    (ruby 1.9 开发)Rango

    ### Rango:Ruby 1.9 上的轻量级网络开发框架 Rango 是一个基于 Ruby 1.9 的轻量级 Web 开发框架,它为开发者提供了灵活且强大的工具来构建网站。与 Sinatra 相比,Rango 更加健壮;而与 Rails 或 Merb 相比,它的...

    Programming Ruby 1.9 (Pragmatic Bookshelf 2009).pdf

    - **文件读写**:介绍了如何在Ruby中进行文件的读取和写入操作。 - **命令行参数**:演示了如何在脚本中处理命令行输入的参数,增强了程序的交互性和灵活性。 #### 3. **类、对象与变量** 深入探讨了Ruby中的类...

    [Ruby] Ruby 1.9 & 2.0 编程 (英文版)

    [Pragmatic Bookshelf] Ruby 1.9 & 2.0 编程 (英文版) [Pragmatic Bookshelf] Programming Ruby 1.9 & 2.0 The Pragmatic Programmers' Guide 4th Edition (E-Book) ☆ 出版信息:☆ [作者信息] Dave Thomas , ...

    Pragmatic.Programming.Ruby.1.9.Apr.2009.pdf

    《实用的Ruby编程:针对Ruby 1.9的程序员指南》是Dave Thomas、Chad Fowler与Andy Hunt共同编写的著作,由The Pragmatic Bookshelf出版。本书详细介绍了Ruby 1.9版本的特性和编程实践,对于学习和掌握Ruby语言具有...

    Pragmatic.Programming.Ruby.1.9

    ### Pragmatic Programming Ruby 1.9:关键知识点解析 #### 标题解析:“Pragmatic.Programming.Ruby.1.9” 此标题表明本书主要介绍的是Ruby 1.9编程语言及其在实用主义编程(Pragmatic Programming)中的应用。...

    Ruby读写txt文件

    在处理文本数据时,如读写txt文件,Ruby提供了简洁而直观的API。下面将详细介绍Ruby如何进行txt文件的读写操作。 一、打开和关闭文件 在Ruby中,我们通常使用`File`类的方法来操作文件。读取txt文件时,可以使用`...

    Ruby编程语言_涵盖Ruby 1.8和1.9

    Ruby是一种面向对象的脚本语言,由日本的松本行弘(Yukihiro ...同时,实践是检验理解的最好方式,通过实际编写项目或解决编程问题,你的Ruby技能将会得到提升。记得,持续学习和探索是成为熟练Ruby开发者的不二法门。

Global site tag (gtag.js) - Google Analytics