2012-03-18 15 views
0

同じストリームから2回読む必要があります。問題は、別の文字列が2回目になることです。ここで を短縮コードです:StreamReader.ReadToEnd二度目の別の読み方

​​

文字列が同じように見えるが、私は値が異なることがわかりますバイナリエディタで確認します。これを引き起こしていると私はそれを回避する方法は何ですか? ' - ' 文字列1が持っているいくつかの理由

UPDATE

string1の

string1

string2の

string2

sr.BaseStream.Position = 3; 

しかし、適切な方法は、新規のStreamReaderを作成することです:

+1

「16進エディタで確認する」とはどういう意味ですか? –

+0

どのような違いがありますか?長さ?内容ですか? – Steve

+0

http://www.edithex.com/でstring1とstring2を比較しました。キャラクターは異なる16進数値を生成しました。 – Malako

答えて

1

それはバイトオーダーマークに問題だ、汚い回避策は、最初の3つのバイトをスキップすることであろう。

+0

IMHOバイトオーダーマークは、異なるエンコーディングで異なる長さを持つことができます。また、2バイト長だと思いますか? – usr

+0

エンコーディングによって異なります。 http://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding – Will

+0

これは私が「汚い」と呼んだ理由です。うまくいけば、マラコは2番目の選択肢に行った... – user1096188

関連する問題