我使用Ruby來讀取然後將文件打印到標準輸出,將輸出重定向到Windows PowerShell中的文件。輸出中每隔一個字符之間的NUL字節
然而,當我檢查的文件,我得到這個對於輸入:
PS D:> head -n 1 .\inputfile
<text id="http://observer.guardian.co.uk/osm/story/0,,1009777,00.html"> <s> Hooligans NNS hooligan
, , , unbridled JJ unbridled passion NN passion
- : - and CC and no DT no executive JJ executiv
e boxes NNS box . SENT . </s>
......然而,這對於輸出:
PS D:> head -n 1 .\outputfile
ÿ_< t e x t i d = " h t t p :// o b s e r v e r . g u a r d i a n . c o . u k/o s m/s t o r y/0 , , 1 0 0 9 7 7 7 , 0
0 . h t m l " > <s> H o o l i g a n s N N S h o o l i g a n , ,
, u n b r i d l e d J J u n b r i d l e d p a s s i o n N N p a s s i o n
- : - a n d C C a n d n o D T n o e x e c u t i v e J J
e x e c u t i v e b o x e s N N S b o x . S E N T . </s >
怎麼能這樣呢?
編輯:因爲我的問題,沒有任何與紅寶石,我已經刪除了Ruby代碼,並列入我的Windows外殼程序的使用。
你的平臺是什麼?那[[ÿ_']](http://en.wikipedia.org/wiki/Byte_order_mark#UTF-16)看起來像UTF-16輸出的BOM。 – sarnold
不知道爲什麼,但輸出文件似乎是UTF-16編碼。 – Stefan
謝謝!我從來沒有猜到「ÿ_」的意思。我擔心它是Windows特有的,與Ruby無關。 NUL字節讓我懷疑UTF-16,當我以UTF-16格式輸出Ruby時,問題確實解決了......並且使用Ruby的文件輸出而不是PowerShell的'>'運算符。 – wen