Top > Programming > .NetFramework > Tips > ConvertStringToCharacterReference
Last-modified: Fri, 21 Feb 2014 01:41:49 JST
Counter:993 Today:1 Yesterday:0 Online:3
このエントリーをはてなブックマークに追加

文字列を文字参照へ変換する

About

Web などでは特定の文字を表示するために文字参照を使う必要があります。例えば < と &rt; などです。他に、サニタイズを目的として文字参照を使うこともあるでしょう。ここでは、ある文字列を10進数の文字参照と16進数の文字参照に変換するためのソースコードを紹介します。

ソースコード

特に解説が必要な個所がないのでソースコードをそのまま掲載します。上のメソッドが10進数へ変換するためのメソッド、下のメソッドが16進数へ変換するためのメソッドです。

        private static string ConvertToDecimalNumericCharacterReferences(string text)
        {
            string result = "";
            foreach (char c in text)
                result += "&#" + System.Convert.ToInt32(c) + ";";
            return result;
        }

        private static string ConvertToHexadecimalNumericCharacterReferences(string text)
        {
            string result = "";
            foreach (char c in text)
                result += "&#x" + System.Convert.ToInt32(c).ToString("X") + ";";
            return result;
        }

実はあるプロジェクトで使っていたのですが、不要になり、そのまま捨てるのはもったいないと思ってまとめました。