ToString (“ X2”)的含义是什么?

我正在研究 MD5加密技术,并且用谷歌找到了这个代码:

public string CalculateMD5Hash(string input)
{


// Primeiro passo, calcular o MD5 hash a partir da string
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
byte[] hash = md5.ComputeHash(inputBytes);


// Segundo passo, converter o array de bytes em uma string haxadecimal
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}

为什么使用 ToString("X2")? 它与正常的 ToString有什么不同?

131457 次浏览

它将字符串格式化为两个大写的十六进制字符。

更深入地说,参数 "X2"是一个“格式化字符串”,它告诉 ToString()方法应该如何格式化字符串。在这种情况下,“ X2”表示字符串应该格式化为十六进制。

不带任何参数的 abc0返回自然小数的数字,不带任何填充。

Microsoft 记录了通常与所有基元数值类型的 ToString()方法一起使用的 标准数字格式字符串。同样的模式也用于其他类型: 例如,标准日期/时间格式字符串可以与 DateTime.ToString()一起使用。

它以十六进制格式打印 byte

无格式字符串: 13

‘ X2’格式字符串: 0D

Http://msdn.microsoft.com/en-us/library/aa311428(v=vs.71).aspx

ToString (“ X2”)在 Hexadecimal 打印输入