2016-12-05 28 views
2

たとえば、「Möller」という文字列があります。 http://www.codetable.net/hex/f6文字列の特殊文字をUnicode Hexコードに変換しますか?

すべての特殊文字(通常の英数字ではない)を検出して自動的に変換したいと考えています。

これまでのところ私が見た唯一の例は、通常のHexです。 Unicode Hexコードを取得する方法はありますか?あなたが任意のUnicode文字が、ASCII文字を一致させたい

おかげ

+0

'文字列を参照してください;' - あなたにエンコードされた文字列を与えます。しかし、16進数ではなく10進数で使用されます。 –

+0

あなたの後ろのフォーマットは、XMLやHTMLのように見えます。もしそうなら、あなたが指定した文書エンコーディングを考えれば、適切な作家に何をする必要があるのでしょうか?あなたは何かを必要としますか?とにかく "ö"の何が間違っていますか?他の多くの文字、記号など、完璧に読みやすい。 - これは[XY問題](http://meta.stackoverflow.com/tags/xy-problem/info)ですか? –

答えて

1

[\p{L}-[A-Za-z]] 

16進コードにこれらの文字を変換するために、マッチ評価でRegex.Replaceを使用し、C#コードでregex demo

を参照してください:正規表現で達成することは容易です。

var s = "Möller"; 
s = Regex.Replace(s, @"[\p{L}-[a-zA-Z]]", m => 
    string.Join(string.Empty, m.Value.Select(c=>string.Format("&#x{0:X};", Convert.ToInt32(c))).ToArray())); 
Console.WriteLine(s); // => Möller 

= WebUtility.HtmlEncode( "メーラー")エンコードC# demo

関連する問題