如何将字节转换成char类型,如1 - >“1”?(How to convert a byt

2019-09-17 08:12发布

如何将字节转换为char? 我的意思并不是一个ASCII码表示。 我有类型的变量byte ,并想把它当作一个字符。

我只想从以下字节转换成char:
0 - > '0'
1 - > '1'
2 - > '2'
3 - > '3'
4 - > '4'
5 - > '5'
6 - > '6'
7 - > '7'
8 - > '8'
9 - > '9'

(char)1Convert.ToChar(1)不工作。 他们导致'' ,因为他们认为1是ASCII码。

Answer 1:

.ToString();

one.ToString(); // one.ToString()[0] - first char -'1'
two.ToString(); // two.ToString()[0] - first char -'2'

需要注意的是,你可以不是一个真正的转换bytechar
char是一个字符,而字节甚至可以三位数的价值!


如果你想使用LINQ和你一定字节不会超过个位数(10+),您可以使用此:

number.ToString().Single();


Answer 2:

只需用variable.ToString()应该是足够的。 如果你想获得幻想,的ASCII代码添加0转换之前的变量:

Convert.ToChar(variable + Convert.ToByte('0'));


Answer 3:

使用该转换。

(char)(mybyte + 48); 

其中mybyte = 0或1,因此

要么

Convert.ToChar(1 + 48); // specific case for 1

当其他人都给予解决方案,我会告诉你为什么你(char)1Convert.ToChar(1)不工作。

当您转换字节1到char它需要的是1作为一个ASCII值。

现在ASCII of 1 != 1

在将它添加48因为ASCII 1 == 1 + 48`。 类似的情况下为0,2,依此类推。



Answer 4:

假设你有变量byte x; 只要使用(char)(x + '0')



Answer 5:

使用Convert.ToString()来执行此操作。



文章来源: How to convert a byte to a char, e.g. 1 -> '1'?
标签: c# char byte