如何获得给定ASCII值的字符
我怎样才能得到一个给定的ascii代码的ascii字符。
例如我正在寻找一个方法,给定的代码65将返回“A”。
谢谢
你的意思是“A”(一个string
)或“A”(一个char
)?
int unicode = 65; char character = (char) unicode; string text = character.ToString();
请注意,我已经提到了Unicode而不是ASCII,因为它是C#的本地字符编码。 基本上每个char
都是一个UTF-16编码点。
string c = Char.ConvertFromUtf32(65);
c将包含“A”
这在我的代码中工作。
string asciichar = (Convert.ToChar(65)).ToString();
返回: asciichar = 'A';
这也可以用其他方式来完成
byte[] pass_byte = Encoding.ASCII.GetBytes("your input value");
然后打印结果。 通过使用foreach
循环。
对不起,我不知道Java,但我今晚面临着同样的问题,所以我写了(这是在C#中)
public string IncrementString(string inboundString) { byte[] bytes = System.Text.Encoding.ASCII.GetBytes(inboundString.ToArray); bool incrementNext = false; for (l = -(bytes.Count - 1); l <= 0; l++) { incrementNext = false; int bIndex = Math.Abs(l); int asciiVal = Conversion.Val(bytes(bIndex).ToString); asciiVal += 1; if (asciiVal > 57 & asciiVal < 65) asciiVal = 65; if (asciiVal > 90) { asciiVal = 48; incrementNext = true; } bytes(bIndex) = System.Text.Encoding.ASCII.GetBytes({ Strings.Chr(asciiVal) })(0); if (incrementNext == false) break; // TODO: might not be correct. Was : Exit For } inboundString = System.Text.Encoding.ASCII.GetString(bytes); return inboundString; }
我相信一个简单的演员可以工作
int ascii = (int) "A"
这是一个适用于所有256个字节的函数,并确保您将看到每个值的字符:
static char asciiSymbol( byte val ) { if( val < 32 ) return '.'; // Non-printable ASCII if( val < 127 ) return (char)val; // Normal ASCII // Workaround the hole in Latin-1 code page if( val == 127 ) return '.'; if( val < 0x90 ) return "€.‚ƒ„…†‡ˆ‰Š‹Œ.Ž."[ val & 0xF ]; if( val < 0xA0 ) return ".''“”•–—˜™š›œ.žŸ"[ val & 0xF ]; if( val == 0xAD ) return '.'; // Soft hyphen: this symbol is zero-width even in monospace fonts return (char)val; // Normal Latin-1 }