在前一篇文章里,我重构的原先windows下的ft_rich,使其不依赖C EXT即可以
正常完成彩色文字的打印,这得益于OS X的终端的彩色支持。
接下来发现原先得rb文档编码方式为gbk,而OS X终端默认支持的是utf-8,包括
中文输入法也为utf-8编码。手动更改源代码比较麻烦,还是让ruby自己来转换吧。
#!/Users/apple/.rvm/rubies/ruby-1.9.3-p362/bin/ruby -w
#tool 4 gbk2utf8
src_file = $*[0]
f = File.open(src_file,"r:gbk")
fw = File.open(src_file+"_ed","w:utf-8")
f.each do |line|
line.encode!("utf-8")
fw.puts line
end
然后将其添加x属性:
chmod +x g2u8.rb
最后执行 ./g2u8.rb ft_rich.rb
再做的“智能”一点,或者说人性化一点:
#!/Users/apple/.rvm/rubies/ruby-1.9.3-p362/bin/ruby -w
#tool 4 gbk2utf8
src_file = $*[0]
x = File.split(src_file)
dst_file = x[0] << '/u8_' << x[1]
f = File.open(src_file,"r:gbk")
fw = File.open(dst_file,"w:utf-8")
f.each_with_index do |line,i|
line.encode!("utf-8")
if(i < 2)
line.gsub!(/gbk/,"utf-8") if(line =~ /^#[ ]*cod*/)
end
fw.puts line
end
fw.close
`chmod +x #{dst_file}`
哦鸟!