C# Unicode编码/解码方法

/// <summary>
/// Unicode编码
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ToUnicodeString(string str)
{
    StringBuilder result = new StringBuilder();
    foreach (char c in str)
    {
        result.Append("0x" + Convert.ToString(char.ConvertToUtf32(c.ToString(), 0), 16).ToUpper().PadLeft(4, '0'));
    }
    return result.ToString();
}

/// <summary>
/// Unicode解码
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string FromUnicodeString(string str)
{
    return Regex.Replace(str, @"0x[\w]{4}", delegate(Match m) { return char.ConvertFromUtf32(Convert.ToInt32(m.Value, 16)); }, RegexOptions.IgnoreCase);
}


评论: 0 | 引用: 0 | 查看次数: 3689
发表评论
登录后再发表评论!