c#如何从整数中获取十六进制文字

时间:2017-07-18 08:03:46

标签: c# string hex type-conversion

有很多方法可以将整数转换为十六进制 STRING ,但有没有办法将其转换为十六进制文字,如同?

string = z
integer = 122
hex = 0X7A

2 个答案:

答案 0 :(得分:0)

您是否正在寻找字符串&#39> 转储(用字符串中的十六进制值表示字符串)?像这样:

 using System.Linq;

 ...

 string test = "hello z";

 // To dump
 string dump = string.Join(" ", test.Select(c => $"0x{(int)c:X2}"));
 // From dump
 string restore = string.Concat(dump
   .Split(' ')
   .Select(item => (char)Convert.ToInt32(item, 16))); 

 Console.WriteLine(dump);
 Console.WriteLine(restore);

结果

 0x68 0x65 0x6C 0x6C 0x6F 0x20 0x7A
 hello z

答案 1 :(得分:0)

整数保持整数,与表示无关。您可以将十六进制值直接指定给int。当您想要显示它或将其用作字符串时,该表示只会产生差异:

int integer = 122;
int integer_in_hex = 0X7A;

对于显示器,您可以使用格式字符串"X2",这意味着以十六进制显示长度为2个位置的munber:

Console.WriteLine(integer_in_hex.ToString("X2"));
Console.WriteLine(integer.ToString("X2"));

输出相同:

  

7A
7A

有关详细信息,请阅读documentation