C#で、UTF-8エンコードのテキストファイルを読み込んで、Shift_JISエンコードのテキストファイルを書き出すときに、変換できないUnicode文字が存在する可能性があります。そのUnicode文字の代替として、HTML文字実体参照(Character Entity Reference)の「&#x+16進数」表記文字列に置き換える方法を、この記事で共有します。 なお、文字実体参照という表記になっているのは、僕の都合なので、必要に応じて別の表現も可能です。例えば「U+16進数表記」のUnicodeスカラー値で表現することが考えられます。 サンプルコードをオープンソースで公開します。as-isでサポートもなしとさせていただきます。 ソースコードは次のリンク先を参照してください: isshiki/UnicodeToSJISfallback: https://github.com/isshi
![いっしきまさひこBLOG](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)