c# - 获取字符串中所有字符的数值

标签 c# ascii

<分区>

我想在 C# 中获取字符串的十进制 ASCII 值,例如:

“abc123s” 将是:97 98 99 49 50 51 115 (979899495051115) 'f1c3s1"将是:102 49 99 51 115 491024999511549`

我试过 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);

关于c# - 获取字符串中所有字符的数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683571/

相关文章:

c# - C# 中的正则表达式组

c# - 幕后 Actor 是什么

css - 为什么我的带有 ASCII 艺术字的网格模板区域不起作用?

c - 如何优雅地snprintf?

python - 为什么在使用非 ASCII 字符时无法转换字符串?

.net - 将 Unicode 字符转换为 ASCII (.NET) 中最接近(最相似)的字符

c# - 为什么我不能从 GridViewRow PresenterBase 派生?

c# - 为什么我不能在 HTTP 响应 header 中设置 'Allow'?

c# - 使用从 C# 到非托管驱动程序的嵌入式指针编码结构

Python:将包含非 ASCII 字符的列表写入文本文件