如何将字符串转换为ASCII
如何将字符串中的每个字母转换为ASCII字符值?
.NET将所有字符串存储为UTF-16代码单元序列。 (对于大多数用途,这足够接近“Unicode字符”。)
幸运的是,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 = "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值 。