如何转换每个字母在一个字符串的ASCII字符值?
.NET存储所有字符串作为的UTF-16代码单元的序列。 (这是足够接近“Unicode字符”对于大多数的目的。)
幸运的是,统一的设计,使得ASCII值映射到Unicode中相同的号码,所以你已经转换每个字符为整数后,你可以检查它是否是在ASCII范围。请注意,您可以使用来自char
的隐式转换到int
- 有没有需要调用一个转换方法:
string text = "Here's some text including a \u00ff non-ASCII character";
foreach (char c in text)
{
int unicode = c;
Console.WriteLine(unicode < 128 ? "ASCII: {0}" : "Non-ASCII: {0}", unicode);
}
任何字符串试试这个:
string s = Console.ReadLine();
foreach( char c in s)
{
Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();
这很简单:
string s = "ABCD";
byte[] bytes = Encoding.ASCII.GetBytes(s);
int result = BitConverter.ToInt32(bytes, 0);
现在,你必须为所有的字节和编码int
是result
数组。如果您需要回去了,你可以去为:
int i = result;
byte[] bytes2 = BitConverter.GetBytes(i);
string s2 = Encoding.ASCII.GetString(bytes);
尝试的LINQ:
Result = string.Join("", input.ToCharArray().Where(x=> ((int)x) < 127));
这将过滤掉所有非ASCII字符。现在,如果你想要一个等价的,请尝试以下操作:
Result = string.Join("", System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(input.ToCharArray())));
使用Convert.ToInt32()进行转换。你可以看看How to convert string to ASCII value in C#和ASCII values。
我觉得这个代码可以帮助你:
string str = char.ConvertFromUtf32(65)