C#實(shí)現(xiàn)tostring轉(zhuǎn)換成16進(jìn)制的方法
在 C# 中,將整數(shù)或其他數(shù)據(jù)類型轉(zhuǎn)換為十六進(jìn)制字符串可以使用 ToString 方法,并指定格式化字符串為 "X" 或 "x"。以下是詳細(xì)的實(shí)現(xiàn)方法和示例:
1. 整數(shù)轉(zhuǎn)換為十六進(jìn)制字符串
使用 ToString 方法并指定格式化字符串為 "X"(大寫十六進(jìn)制)或 "x"(小寫十六進(jìn)制)。
示例代碼:
using System;
class Program
{
static void Main()
{
int number = 29; // 十進(jìn)制數(shù)
string hexUpper = number.ToString("X"); // 大寫十六進(jìn)制
string hexLower = number.ToString("x"); // 小寫十六進(jìn)制
Console.WriteLine(hexUpper); // 輸出: 1D
Console.WriteLine(hexLower); // 輸出: 1d
}
}
2. 指定十六進(jìn)制字符串的長度
如果需要固定長度的十六進(jìn)制字符串,可以在格式化字符串中指定長度。例如,"X4" 表示生成 4 位大寫十六進(jìn)制字符串,不足部分用前導(dǎo)零填充。
示例代碼:
using System;
class Program
{
static void Main()
{
int number = 29;
string hexFixedLength = number.ToString("X4"); // 4 位大寫十六進(jìn)制
Console.WriteLine(hexFixedLength); // 輸出: 001D
}
}
3. 將字節(jié)數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串
如果需要將字節(jié)數(shù)組(byte[])轉(zhuǎn)換為十六進(jìn)制字符串,可以使用 BitConverter 類或手動實(shí)現(xiàn)。
使用 BitConverter:
using System;
class Program
{
static void Main()
{
byte[] bytes = { 0x1D, 0x2A, 0x3F };
string hexString = BitConverter.ToString(bytes).Replace("-", "");
Console.WriteLine(hexString); // 輸出: 1D2A3F
}
}
手動實(shí)現(xiàn):
using System;
using System.Text;
class Program
{
static void Main()
{
byte[] bytes = { 0x1D, 0x2A, 0x3F };
StringBuilder hexBuilder = new StringBuilder();
foreach (byte b in bytes)
{
hexBuilder.Append(b.ToString("X2")); // 每個字節(jié)轉(zhuǎn)換為 2 位十六進(jìn)制
}
string hexString = hexBuilder.ToString();
Console.WriteLine(hexString); // 輸出: 1D2A3F
}
}
4. 將字符串中的字符轉(zhuǎn)換為十六進(jìn)制
如果需要將字符串中的每個字符轉(zhuǎn)換為其十六進(jìn)制表示,可以使用以下方法:
示例代碼:
using System;
using System.Text;
class Program
{
static void Main()
{
string input = "Hello";
StringBuilder hexBuilder = new StringBuilder();
foreach (char c in input)
{
hexBuilder.Append(((int)c).ToString("X2") + " "); // 每個字符轉(zhuǎn)換為 2 位十六進(jìn)制
}
string hexString = hexBuilder.ToString().Trim();
Console.WriteLine(hexString); // 輸出: 48 65 6C 6C 6F
}
}
5. 將十六進(jìn)制字符串轉(zhuǎn)換回整數(shù)
如果需要將十六進(jìn)制字符串轉(zhuǎn)換回整數(shù),可以使用 Convert.ToInt32 或 int.Parse 方法。
示例代碼:
using System;
class Program
{
static void Main()
{
string hexString = "1D"; // 十六進(jìn)制字符串
int number = Convert.ToInt32(hexString, 16); // 轉(zhuǎn)換為整數(shù)
Console.WriteLine(number); // 輸出: 29
}
}
6. 總結(jié)
- 使用
ToString("X")或ToString("x")將整數(shù)轉(zhuǎn)換為十六進(jìn)制字符串。 - 使用
ToString("X4")生成固定長度的十六進(jìn)制字符串。 - 使用
BitConverter或手動實(shí)現(xiàn)將字節(jié)數(shù)組轉(zhuǎn)換為十六進(jìn)制字符串。 - 使用
Convert.ToInt32或int.Parse將十六進(jìn)制字符串轉(zhuǎn)換回整數(shù)。
通過這些方法,可以輕松地在 C# 中實(shí)現(xiàn)十六進(jìn)制和其他進(jìn)制之間的轉(zhuǎn)換。
到此這篇關(guān)于C#實(shí)現(xiàn)tostring轉(zhuǎn)換成16進(jìn)制的方法的文章就介紹到這了,更多相關(guān)C# tostring轉(zhuǎn)換成16進(jìn)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C#實(shí)現(xiàn)十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制的幾種方式
- C#實(shí)現(xiàn)字符串進(jìn)制轉(zhuǎn)換方法匯總
- C#實(shí)現(xiàn)十六進(jìn)制與十進(jìn)制相互轉(zhuǎn)換以及及不同進(jìn)制表示
- C#實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換
- C# 進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)(二進(jìn)制、十六進(jìn)制、十進(jìn)制互轉(zhuǎn))
- C#中圖片、二進(jìn)制與字符串的相互轉(zhuǎn)換方法
- C#實(shí)現(xiàn)2~36進(jìn)制轉(zhuǎn)換的完整代碼
相關(guān)文章
c#檢測usb設(shè)備撥插類庫USBClassLibrary分享
這篇文章主要介紹了c#檢測usb設(shè)備撥插類庫USBClassLibrary的簡單示例,需要的朋友可以參考下2014-04-04
詳談C# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換
下面小編就為大家?guī)硪黄斦凜# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

