获取字符串中所有字符的数值

本文关键字:字符 字符串 获取 | 更新日期: 2023-09-27 17:53:59

我想获得c#中字符串的十进制ASCII值,例如:

"abc123s"为:97 98 99 49 50 51 115 (979899495051115)'f1c3s1 ' ' would be: 102499951 11549 or 1024999511549 '

我尝试了Convert.ToInt32Int.Parse,但它们没有达到预期的效果。

我可以使用什么方法?

获取字符串中所有字符的数值

假设您只处理ASCII字符串,您可以将string的每个字符强制转换为byte以获得ASCII表示。您可以对以下值使用ToString将结果滚回string:

string str = "abc123s";
string outStr = String.Empty;
foreach (char c in str)
    outStr += ((byte) c).ToString();

您还可以将byte的值作为一个数组,并使用String.Join:

将结果转换为string:
byte[] asciiVals = System.Text.Encoding.ASCII.GetBytes(str);
outStr = String.Join(String.Empty, asciiVals);

Try

string all = "";
all = String.Join(String.Empty, "abc123s".Select(c => ((int)c).ToString()).ToArray());

您可以将Convert.ToInt16()与每个字符的循环结合使用,并将int Results作为字符串添加在一起。

你不应该使用Byte,因为每个Char都是Int16。