[英]Convert Integer to Ascii string in C#
我想将一个整数转换为3个字符的ascii字符串。 例如,如果整数是123,则我的ascii字符串也将是"123"
。 如果整数是1,那么我的ascii将是"001"
。 如果整数是45,那么我的ascii字符串将是"045"
。 到目前为止,我已经尝试过Convert.ToString
但无法得到结果。 怎么样?
int myInt = 52;
string myString = myInt.ToString("000");
myString现在是“052”。 希望它会有所帮助
回答新问题:
你正在寻找String.PadLeft
。 像myInteger.ToString().PadLeft(3, '0')
一样使用它myInteger.ToString().PadLeft(3, '0')
。 或者,只需使用"0"
自定义格式说明符 。 像myInteger.ToString("000")
。
回答原始问题,返回"0x31 0x32 0x33"
类的字符串:
String.Join(" ",myInteger.ToString().PadLeft(3,'0').Select(x=>String.Format("0x{0:X}",(int)x))
说明:
ToString()
将您的整数123
转换为其字符串表示形式"123"
。 PadLeft(3,'0')
使用0
作为填充字符将返回的字符串填充为三个字符 char
数组,因此.Select
选择此数组 0x
然后将其格式化为字符的值 char
为int
将允许您获取ASCII值(您可以跳过此转换,我不确定) String.Join(" ", ...)
将它们全部重新组合在一起,中间有空格 这取决于你是否真的想要ASCII字符或者你想要文本。 以下代码将执行这两项操作。
int value = 123;
// Convert value to text, adding leading zeroes.
string text = value.ToString().PadLeft(3, '0');
// Convert text to ASCII.
byte[] ascii = Encoding.ASCII.GetBytes(text);
意识到.Net不使用ASCII进行文本操作。 您可以将ASCII保存到文件中,但如果您使用的是string
对象,则它们将以UTF-16编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.