Rubyを使用してファイルを読み込んでからstdoutに出力し、出力をWindows PowerShellのファイルにリダイレクトしています。出力の1文字おきにヌルバイド
私はファイルを検査する場合しかし、私は入力のためにこれを取得する:
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シェルの私の使用を含めました。
お使いのプラットフォームは何ですか?それはUTF-16出力用のBOMのように見えます(http://en.wikipedia.org/wiki/Byte_order_mark#UTF-16)。 – sarnold
理由はわかりませんが、出力ファイルはUTF-16でエンコードされているようです。 – Stefan
ありがとう!私は「ÿ_」の意味を推測したことはなかった。私はそれがWindows特有であることを恐れ、Rubyとは何の関係もありません。 NULバイトは私にUTF-16を疑わせるもので、Rubyの出力をUTF-16にしても問題は解決しました...そして、PowerShellの '> '演算子の代わりにRubyのファイルアウトを使用します。 – wen