繁体   English   中英

C#字节转换

[英]C# Byte conversions

当谈到字节对话时,我感到非常困惑。

我需要进行两次转换:

1.我们有一个byte []数组{0x30,0x31,0x32,0x33,0x34,0x35};

如何将其转换为字符串,以便得到“ 30 31 32 33 34 35”。

2.我们有相同的byte []数组

现在我需要将其转换为ASCII(0x30 = 0,0x31 = 1,0x32 = 2依此类推)

完成后,我应该得到“ 012345”。

如何进行两次转换?

var bytearr = new byte[] { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35 };
var str = bytearr.Select(x => x.ToString("x2"));
var ascii = bytearr.Select(x => (char)x);

如果要将输出作为单个string (而不是IEnumerable ),则可以执行以下操作:

var str = String.Join(" ", bytearr.Select(x => x.ToString("x2")).ToArray());
var ascii = new string(bytearr.Select(x => (char)x).ToArray());
  1. 这会将数字格式化为十六进制,并在以下之间留有空格:

    字符串r1 = String.Join(“”,array.Select(n => n.ToString(“ x2”))。ToArray());

  2. 这会将字节转换为ASCII:

    字符串r2 = Encoding.ASCII.GetString(array);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM