最常用方法是使用ToString(“X”)或ToString(“x”)将整数转为大写或小写十六进制字符串,如int number = 255; string hex = number.ToString(“X”); 得到”FF”;若需前缀可拼接”0x”,如”0x” + number.ToString(“X”)得”0xFF”;控制位数可用ToString(“X4”)等形式补零;也可用Convert.ToString(number, 16)转为十六进制,默认小写,需大写时调用ToUpper()。

在 .net 中,将一个整数转换为十六进制字符串非常简单,有多种方法可以实现。最常用的是使用 ToString() 方法配合格式化参数。
使用 ToString(“X”) 或 ToString(“x”)
这是最直接的方式。整数类型(如 int、long 等)都支持 ToString 方法,并可通过格式字符串转为十六进制。
- ToString(“X”):生成大写十六进制字符(A-F)
- ToString(“x”):生成小写十六进制字符(a-f)
示例代码:
int number = 255; string hexUpper = number.ToString("X"); // 结果: "FF" string hexLower = number.ToString("x"); // 结果: "ff"
添加前缀 “0x”
如果希望结果包含常见的 “0x” 前缀,需要手动添加:
int number = 255; string hexWithPrefix = "0x" + number.ToString("X"); // 结果: "0xFF"
控制位数(补零)
有时需要固定位数的十六进制表示,比如 8 位(补前导零),可以使用带数字的格式符:
int number = 10; string hex4Digit = number.ToString("X4"); // 结果: "000A"(4位大写) string hex8Digit = number.ToString("x8"); // 结果: "0000000a"(8位小写)
使用 Convert.ToString 方法
另一种方式是使用 Convert.ToString(value, base),其中 base 设置为 16:
int number = 255; string hex = Convert.ToString(number, 16); // 结果: "ff"(小写) string hexUpper = Convert.ToString(number, 16).ToUpper(); // 转为大写: "FF"
这种方式更灵活,适用于不同进制转换,但默认输出为小写,需手动转大写。
基本上就这些常用方法。根据是否需要大小写、前缀或固定长度,选择合适的方式即可。


