在 C# 中将字符串转换为十六进制

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  1. 在 C# 中使用 BitConverter.ToString() 方法将字符串转换为十六进制
  2. 在 C# 中使用 String.Format() 方法将字符串转换为十六进制
在 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

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp String

相关文章 - Csharp Hex