入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

ruby字符串的encoding,force_encoding,encode,encode!转码(编码转换)

创建时间:2016-06-29 投稿人: 浏览次数:1629

ruby字符串的encoding,force_encoding,encode,encode!转码(编码转换)

ruby1.9开始对字符串编码支持已经比较完善,我们可以直接通过使用String类的实例方法encoding,force_encoding, encode, encode!进行相关的编码操作。


encoding

ruby1.9中为每个字符串对象增加了encoding信息

?
1 2 3 1.9.3p392 :001 > "我还是不懂".encoding  => #<Encoding:UTF-8> 1.9.3p392 :002 >


force_encoding

某些情况下这个附加编码信息可能不正确我们可以修正它

?
1 2 3 4 5 6 7 8 9 10 11 12 13 1.9.3p392 :011 > x="我还是不懂"  => "我还是不懂" 1.9.3p392 :012 > x.encoding  => #<Encoding:UTF-8> 1.9.3p392 :013 > x.bytes.to_a  => [230, 136, 145, 232, 191, 152, 230, 152, 175, 228, 184, 141, 230, 135, 130] 1.9.3p392 :014 > x.force_encoding "gbk"  => "x{E688}x{91E8}x{BF98}x{E698}x{AFE4}x{B88D}x{E687}x82" 1.9.3p392 :015 > x.encoding  => #<Encoding:GBK> 1.9.3p392 :016 > x.bytes.to_a  => [230, 136, 145, 232, 191, 152, 230, 152, 175,
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。