编码检测 和 转换

def detect_encode
require 'hpricot'
require 'open-uri'
@doc = open("http://www.baidu.com") { |f| Hpricot(f) }
guess_res = NKF.guess(@doc.to_s)
case guess_res
when NKF::SJIS
@encode = "Shift_JIS"
when NKF::EUC
@encode = "EUC"
when NKF::JIS
@encode = "JIS"
when NKF::UTF8
@encode = "UTF-8"
end
pp @encode # 取得编码
end

编码转换
def self.convert_char_encoding(encoding, data)
begin
case encoding
when 'jis'
return Kconv.tojis(data)
when 'Shfit-JIS'
return Kconv.tosjis(data)
when 'EUC-JP'
return Kconv.toeuc(data)
when 'UTF-8'
return Kconv.toutf8(data)
else
exit(1)
end
rescue SystemExit => e
p 'set invalid charcter encoding or nil.'
exit(0)
end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值