Gem 做了一个自动将字符转成 utf8 编码的 gem

qhwa · 2012年08月13日 · 最后由 huacnlee 回复于 2013年11月04日 · 4086 次阅读

http://rubygems.org/gems/string_utf8

gem install string_utf8

给 String 加了一个 utf8! 方法,会使用一系列的字符集去猜测,直到可以正确转成 utf8 为止。目前主要是自己用在中文的辨识上,自己用在很多项目里面,感觉还是很方便的。

用法示例:

require 'string/utf8'
p File.read( 'input.txt' ).utf8!  #不用去关心原来是什么编码

这个不错,编码一直是个问题。

匿名 #2 2012年08月13日

好东西啊~

Ruby 1.9 好像也可以达到吧 force_encoding

#3 楼 @huacnlee 那个 force_encoding 好像不能转码那种有 bom 的 utf8,反正感觉不怎么好用。。

@bony 哦,这样啊

ruby 确实比 python 更强大,灵活

.....

这个功能实现也需要做一个 gem ? 我总觉得是不是有点太太大才小用了....

直接猜测,貌似又有什么现实意义呢?

换句话说,大多数情况下,不猜也可以知道先 force_encoding 什么编码,少数情况下,一猜肯定猜错几率应该不低吧。

上周写一个功能的时候发现 Ruby 1.9+ 里面用下面的方法才好使,force_encoding 有问题。

ec = Encoding::Converter.new("gbk","UTF-8")
ec.convert(gbk_text)
需要 登录 后方可回复, 如果你还没有账号请 注册新账号