跟gb2312没有半点关系!你可以写public static string GetHex(char c)
{
    var bt = Encoding.BigEndianUnicode.GetBytes(new char[] { c });
    var hex = (from b in bt
                let x = Convert.ToString(b, 16).ToUpper()
                let y = x.Length < 2 ? "0" + x : x
                select y).ToArray();
    return hex[0] + hex[1];
}

解决方案 »

  1.   

    当然对于字符串,就可以为public static string GetHex(string str)
    {
        var bt = Encoding.BigEndianUnicode.GetBytes(str);
        var hex = (from b in bt
                    let x = Convert.ToString(b, 16).ToUpper()
                    let y = x.Length < 2 ? "0" + x : x
                    select y).ToArray();
        return string.Join(string.Empty, hex);
    }例如可以计算 GetHex("水z")的结果。