[英]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());
这会将数字格式化为十六进制,并在以下之间留有空格:
字符串r1 = String.Join(“”,array.Select(n => n.ToString(“ x2”))。ToArray());
这会将字节转换为ASCII:
字符串r2 = Encoding.ASCII.GetString(array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.