如何将字符串转换为ASCII

如何将字符串中的每个字母转换为ASCII字符值?

.NET将所有字符串存储为UTF-16代码单元序列。 (对于大多数用途,这足够接近“Unicode字符”。)

幸运的是,Unicode的设计使得ASCII值映射到Unicode中的相同数字,因此在将每个字符转换为整数后,您只需检查它是否在ASCII范围内。 请注意,您可以使用从charint的隐式转换 – 无需调用转换方法:

 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 = "hallo world"; foreach( char c in s) { Console.WriteLine(System.Convert.ToInt32(c)); } Console.ReadLine(); 

这很简单:

 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()))); 

我认为这段代码可能对您有所帮助:

 string str = char.ConvertFromUtf32(65) 

使用Convert.ToInt32()进行转换。 您可以查看如何在C#ASCII值 中将字符串转换为 ASCII值