C#将Cyrillic解码为ASCII

时间:2015-02-09 00:29:40

标签: c# decode asciiencoding

我有一个非常好的功能,它将ASCII编码为俄语字符,但我还需要它从俄语到ASCII。

我的功能是:

public string DecodeEncodedNonAsciiCharacters(string value)
    {
        return Regex.Replace(
            value,
            @"\\u(?<Value>[a-zA-Z0-9]{4})",
            m =>
            {
                return ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString();
            });
    }

我找不到一个很好的方法来获取\ u235在我的文本或任何其他方式来逃避这些类型的字符

1 个答案:

答案 0 :(得分:2)

这样的东西? (小提琴:https://dotnetfiddle.net/6BbXAt

public static string EncodeNonAsciiCharacters(string value)
{
  return Regex.Replace(
    value,
    @"[^\x00-\x7F]",
    m => String.Format("\\u{0:X4}", (int)m.Value[0]));
}

正则表达式来自(grep) Regex to match non-ASCII characters?