1
在Rails中,我們有一些文本文件爲ISO-8859-1。有時檔案會以UTF-8 with BOM
的形式出現。我試圖確定它的UTF-8 with BMO
然後重新讀取文件爲bom|UTF-8
。Ruby:檢查字節順序標記
我嘗試以下,但它似乎並不正確地比較:
# file is saved as UTF-8 with BOM using Sublime Text 2
> string = File.read(file, encoding: 'ISO-8859-1')
# this doesn't work, while it supposed to work
> string.start_with?("\xef\xbb\xbf".force_encoding("UTF-8"))
> false
# it works if I try this
> string.start_with?('')
> true
目的是讀取文件UTF-8 with BOM
如果文件具有字節順序標記的開始和我想避免string.start_with?('')
方法。
謝謝@mudasobwa。有用。你介意解釋一下爲什麼'HEX'版本不能在你的版本工作?我們可以可靠地使用這個版本,並確信它會一直工作嗎?試圖理解它。 – Saim
我已經更新了答案。 – mudasobwa
完美,謝謝。 – Saim