这里有一百万个关于如何将字符转换为ASCII值的帖子 好吧,我想完全相反 我有一个ASCII值存储为int,我想在字符串中显示其ASCII字符表示。
即。请显示将int 65
转换为A
的代码。
我目前所拥有的是String::Format("You typed '{0}'", (char)65)
但这导致"You typed '65'"
,而我希望它为"You typed 'A'"
我正在使用C ++ / CLI,但我猜任何.NET语言都可以......
(为了改善未来googlers的问题,后哼哼地编辑)
答案 0 :(得分:19)
有几种方法,一些是:
char c = (char)65;
char c = Convert.ToChar(65);
string s = new string(65, 1);
string s = Encoding.ASCII.GetString(new byte[]{65});
答案 1 :(得分:8)
在C ++中:
int main(array<System::String ^> ^args)
{
Console::WriteLine(String::Format("You typed '{0}'", Convert::ToChar(65)));
return 0;
}
答案 2 :(得分:7)
对于ASCII值,您应该只能转换为char? (C#:)
char a = (char)65;
或作为字符串:
string a = ((char)65).ToString();
答案 3 :(得分:3)
Dim str as string
str = Convert.ToChar(65).ToString()
msgbox(str)
答案 4 :(得分:2)
复杂的版本当然是:
public string DecodeAsciiByte(byte b) {
using(var w = new System.IO.StringWriter()) {
var bytebuffer = new byte[] { b };
var charbuffer = System.Text.ASCIIEncoding.ASCII.GetChars(bytebuffer);
w.Write(charbuffer);
return w.ToString();
}
}
当然,那是在我使用Encoding.GetString
方法阅读答案之前。 D'哦。
public string DecodeAsciiByte(byte b) {
return System.Text.Encoding.ASCII.GetString(new byte[] { b });
}
答案 5 :(得分:1)
施展它;不可能更简单。
// C#
int i = 65;
Console.WriteLine((char)i);
答案 6 :(得分:1)
有很多方法可以解决这个问题。如果你想让他们输入连续数字w / op分隔符和空格,那么你可以使用类似的东西:
string userInput = "123456";
var digits = str.Select(c => Convert.ToInt32(c.ToString()));