如何将 ASCII 码视为字符串而不是字符

How to treat ASCII code as a string rather than it's character

检查包含 ASCII 代码的字符串时,例如ABC\x30XYZ,我怎样才能把它读成完整的字符串,而不是把它读成字符串 ABC0XYZ

例如:

var value = "ABC\x30XYZ";
foreach(var c in value)
{
    Console.Write(c);
} 
// Desired output: ABC\x30XYZ
// Actual output: ABC0XYZ

我想我需要对编码做点什么,但我正在努力寻找解决方案。我觉得我错过了一些非常明显的东西,当有人指出这一点时,我准备好羞愧地低下头。

如果您自己创建字符串,则需要转义“\x30”ASCII 符号才能将其视为字符串:

var value = "ABC\x30XYZ";

如果您想从输入字符串中解析出 ASCII 码,您可以使用正则表达式解析,例如:

 var value = "ABC\x30XYZ";
 var values = Regex.Matches(value, @"\x[\d]{2}|.");
 foreach (var c in values)
 {
    Console.Write(c);
 }

根据您期望的输入格式使用适当的正则表达式。