在 C# 中将字符串转换为十六进制
本教程将讨论在 C# 中将字符串转换为十六进制的方法。
在 C# 中使用 BitConverter.ToString()
方法将字符串转换为十六进制
如果我们有一个包含以 10 为底的数值的字符串,并且需要将其转换为包含以 16 为底的数值的字符串,我们可以使用 BitConverter.ToString()
方法。C# 中的 BitConverter.ToString(x)
方法将字节数组 x
中的每个元素转换为十六进制值。要使用 BitConverter.ToString()
方法,我们必须使用 Encoding.Default.GetBytes()
方法将字符串变量转换为字节数组。此方法将字符串变量转换为 C# 中的字节数组。BitConverter.ToString()
方法返回一个十六进制字符串,其中每个值都用 -
分隔。我们可以使用 String.Replace()
方法删除 -
分隔符。
using System;
using System.Linq;
using System.Text;
namespace string_to_hex
{
class Program
{
static void Main(string[] args)
{
string decString = "0123456789";
byte[] bytes = Encoding.Default.GetBytes(decString);
string hexString = BitConverter.ToString(bytes);
hexString = hexString.Replace("-", "");
Console.WriteLine(hexString);
}
}
}
输出:
30313233343536373839
在上面的代码中,我们使用 C# 中的 BitConverter.ToString()
方法将具有十进制值的字符串 decString
转换为具有十六进制值的字符串 hexString
。
在 C# 中使用 String.Format()
方法将字符串转换为十六进制
String.Format()
方法根据 C# 中给定的格式说明符设置字符串格式。{0:X2}
格式说明符指定十六进制格式。我们可以在 String.Format()
方法内使用 {0:X2}
格式说明符,以将具有十进制值的字符串格式化为具有十六进制值的字符串。我们可以使用 LINQ 轻松地将十进制字符串的每个字符格式化为十六进制格式。
using System;
using System.Linq;
using System.Text;
namespace string_to_hex
{
class Program
{
static void Main(string[] args)
{
string decString = "0123456789";
var hexString = string.Join("",
decString.Select(c => String.Format("{0:X2}", Convert.ToInt32(c))));
Console.WriteLine(hexString);
}
}
}
输出:
30313233343536373839
在上面的代码中,我们使用 String.Format()
方法和 C# 中的 LINQ 将具有十进制值的字符串变量 decString
转换为具有十六进制值的字符串变量 hexString
。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。