如何将字节转换为char,例如1 - > '1'?

时间:2012-05-18 08:46:10

标签: c# char byte

如何将字节转换为char?我不是指ASCII表示。 我有一个byte类型的变量,并希望它作为一个字符。

我想跟随从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码。

5 个答案:

答案 0 :(得分:5)

号码.ToString();

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

请注意,您无法真正将byte转换为char
 char是一个字符,而字节甚至可以是三位数值!


如果您想使用LINQ,并且您确定该字节不会超过一位数(10+),您可以使用此字段:

number.ToString().Single();

答案 1 :(得分:4)

只需使用variable.ToString()即可。如果您想获得乐趣,请在转换之前将0的ASCII代码添加到变量:

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

答案 2 :(得分:3)

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

即可

答案 3 :(得分:3)

将此用于转换。

(char)(mybyte + 48); 

其中mybyte = 0或1,所以

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

虽然其他人提供了解决方案,但我会告诉您为什么(char)1Convert.ToChar(1)无效。

当您将字节1转换为char时,1ASCII作为ASCII of 1 != 1值。

现在{{1}}。

在其中添加48因为ASCII = 1 == 1 + 48`。 0,2等的类似情况。

答案 4 :(得分:2)

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