转换为十六进制

本文关键字:十六进制 转换 | 更新日期: 2023-09-27 18:15:47

每当我尝试使用

将'™'转换为十六进制字符串时
string.Format("{0:X}", (int)"™");

它返回2122,这很奇怪,因为当我使用在线转换器时,我得到99。为什么?

转换为十六进制

99是Windows-1252编码中的™代码,而2122是根据Unicode标准的代码。

正如Cito所解释的,99是Windows-1252编码中™的代码。您可以通过以下方式获取:

var result = Encoding.GetEncoding("Windows-1252")
                     .GetBytes("™")
                     .Single()
                     .ToString("X");
// result == "99"

看来2122是正确的响应。https://i.stack.imgur.com/ZTBxZ.png

99不正确:http://www.wolframalpha.com/input/?i=ASCII+153

转换正确。根据这个网站TM的unicode值是2122