2

バイトを文字に変換する方法は?ASCII表現を意味するのではありません。タイプの変数があり、byteそれを文字として使用したい。

バイトから文字への変換を次のように実行したい:
0-> '0'
1-> '1'
2-> '2'
3-> '3'
4-> '4'
5-> '5'
6-> ' 6 '
7->' 7 '
8->' 8 '
9->' 9 '

(char)1Convert.ToChar(1)動作しません。彼らはASCIIコード''だと思っているので結果になります。1

4

5 に答える 5

5

番号.ToString();

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

byte実際にはachar
charを1文字に変換することはできませんが、バイトは3桁の値にすることもできます。


使用したいがLINQ、バイトが1桁(10+)を超えないことが確実な場合は、次を使用できます。

number.ToString().Single();
于 2012-05-18T08:47:59.297 に答える
4

単に使用variable.ToString()するだけで十分です。凝ったものにしたい場合は、0変換する前にのASCIIコードを変数に追加してください。

Convert.ToChar(variable + Convert.ToByte('0'));
于 2012-05-18T08:47:31.243 に答える
3

変数があると仮定byte x; します(char)(x + '0')

于 2012-05-18T08:49:07.610 に答える
3

これを変換に使用します。

(char)(mybyte + 48); 

ここで、mybyte=0または1など

また

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

(char)1他の人が解決策を与えている間、私はあなたのとが機能していない理由をあなたに話しますConvert.ToChar(1)

バイト1をcharに変換すると、それが値1として使用されASCIIます。

ASCII of 1 != 1

ASCIIが1==1 + 48`であるため、48を追加します。0、2などの同様のケース。

于 2012-05-18T08:50:41.310 に答える
2

これを実行するには、Convert.ToString()を使用します。

于 2012-05-18T08:47:54.437 に答える