每当我尝试使用
将'™'转换为十六进制字符串时string.Format("{0:X}", (int)"™");
它返回2122这很奇怪,因为当我使用在线转换器时,我得到99.为什么?
答案 0 :(得分:10)
99是Windows-1252编码中的代码,而2122是符合Unicode标准的代码。
答案 1 :(得分:4)
正如Cito所解释的那样,99是Windows-1252编码中的代码。你可以按如下方式得到它:
var result = Encoding.GetEncoding("Windows-1252")
.GetBytes("™")
.Single()
.ToString("X");
// result == "99"
答案 2 :(得分:0)
看来2122是正确的答案。 http://i.imgur.com/qhNC6.png
答案 3 :(得分:0)
转换是正确的。根据{{3}},TM的unicode值为2122。