閱讀750 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Mac OS X ft_rich遊戲的進一步更改

    在前一篇文章裏,我重構的原先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}`

哦鳥!

最後更新:2017-04-04 07:03:41

  上一篇:go 【spring】一般情況下,我們一般建議在一對多雙向關聯關係中,將一方的inverse屬性設置為true
  下一篇:go Core Data淺談係列之九 : 使用Mapping Model