私はHtmlAgilityPackでhtmlを読んでそれを編集し、それをStreamWriterに出力しています。HtmlAgilityPackエンコーディングはLatin1で、StreamWriterはUnicdeEncodingです。私は変換でいくつかの文字を失っている、と私はしたくないです。私はStreamWriterのエンコーディングを変更することができないようです。Merge受け入れられた回答Webページが実際にLatin-1(ISO-8859-1)であれば、その中に中括弧を入れることはできません。Latin-1にはこれらの文字のマッピングがありません。ヘッダーや埋め込み宣言にもかかわらず、ページのエンコーディングは実際にはwindows-1252と思われます。)の制御文字をより有用な(または少なくともよりきれいな)印刷文字に置き換える点を除いて、Latin-1と同じです。\x93を制御文字\u0093に変換します。表示することができればガベージのように見えます。ブラウザは、左の二重引用符のUnicodeコードポイントである\u201C変換します。私はHtmlAgilityPackに慣れていないので、ドキュメントを見つけることができませんが、Windows-1252を使用するように強制しようとします。Windows-1252(または「ANSI」)StreamReaderを作成し、それをHAPに使用させることができます。stringはない)。)に書き込むと、.NETのUTF-16文字列が暗黙的に使用されます。ここでJonの答えを見てください。