我有這樣的代碼:爲什麼file.truncate將我的文件轉換爲0的紅寶石?
File.open(name, 'r+') do |f|
new_file = f.read.sub /ApplicationController/, 'AdminController'
f.truncate 0
f.write new_file
f.close
end
和它應該與AdminController更換ApplicationController中,然後截斷該文件,然後寫入新的內容,然後將其關閉。
然而,當它截斷該文件,然後寫入它,它看起來像這樣:
0000 0000 0000 0000 0ef3
等等
因此被截斷的文件轉換爲十六進制。我需要它在UTF-8。在我寫入之前,如何確保文件是UTF-8?
好了,所以截去在文件轉換爲十六進制。我需要它在UTF-8。在我寫入之前,如何確保文件是UTF-8? – 2012-03-02 22:10:38
你在運行什麼操作系統?我只是在Ubuntu上運行它,它工作。指定UTF-8工作的 – Gazler 2012-03-02 22:13:19