如何根据字符的 ASCII 值描述配置文件中的字符?
How can I describe a character in a configuration file, based on its ASCII value?
在使用 C# 编程时,可以根据其 ASCII 值使用单个字符,例如:
if (whatever_string.EndsWith("\u06"))
...
我想将ASCII 字符串放入配置中。由于我经常需要进行字符串操作,所以我想将其作为字符串添加到配置中,因此我的对象如下所示:
Object definition
...
public string AckChars { get; private set; }
并且在 app.config 文件中,我将其放置如下:
<appSettings>
<add key="AckChars" value="\u06"/>
但是,当我从配置中读取这个时,基于此:
var appSettings = ConfigurationManager.AppSettings;
...
string value;
value = appSettings[key];
我的AckVars
在手表里是这样的-window(别笑:-)):
AckChars[0] 92 '\' char
AckChars[1] 117 'u' char
AchChars[2] 48 '0' char
AckChars[3] 54 '6' char
那么,在 C# 配置文件中输入一个字符,知道它会被读取为整个字符串的方法是什么?
的回答进行编辑
将U+0006
放入配置文件后,结果如下:
AckChars[0] 85 'U' char
AckChars[1] 43 '+' char
AckChars[2] 48 '0' char
AckChars[3] 48 '0' char
AckChars[4] 48 '0' char
AckChars[5] 54 '6' char
所以,这似乎不起作用。
显然问题出在我用来读取配置文件的代码上。我添加了以下内容(在阅读 appSettings
中的 value
之后):
if ((value.ToUpper().StartsWith("\X")) ||
(value.ToUpper().StartsWith("\U")))
{
value = ((char)Int32.Parse(value.Replace(value.Substring(0,2),string.Empty))).ToString();
}
像这样,我可以在我的配置文件中放入 \x03
、\U0006
或其他值,它们将被读取为单个字符,整数值作为 ASCII 代码。可能会进一步详细说明(例如 Unicode),但这是第一个开始。
在使用 C# 编程时,可以根据其 ASCII 值使用单个字符,例如:
if (whatever_string.EndsWith("\u06"))
...
我想将ASCII 字符串放入配置中。由于我经常需要进行字符串操作,所以我想将其作为字符串添加到配置中,因此我的对象如下所示:
Object definition
...
public string AckChars { get; private set; }
并且在 app.config 文件中,我将其放置如下:
<appSettings>
<add key="AckChars" value="\u06"/>
但是,当我从配置中读取这个时,基于此:
var appSettings = ConfigurationManager.AppSettings;
...
string value;
value = appSettings[key];
我的AckVars
在手表里是这样的-window(别笑:-)):
AckChars[0] 92 '\' char
AckChars[1] 117 'u' char
AchChars[2] 48 '0' char
AckChars[3] 54 '6' char
那么,在 C# 配置文件中输入一个字符,知道它会被读取为整个字符串的方法是什么?
的回答进行编辑将U+0006
放入配置文件后,结果如下:
AckChars[0] 85 'U' char
AckChars[1] 43 '+' char
AckChars[2] 48 '0' char
AckChars[3] 48 '0' char
AckChars[4] 48 '0' char
AckChars[5] 54 '6' char
所以,这似乎不起作用。
显然问题出在我用来读取配置文件的代码上。我添加了以下内容(在阅读 appSettings
中的 value
之后):
if ((value.ToUpper().StartsWith("\X")) ||
(value.ToUpper().StartsWith("\U")))
{
value = ((char)Int32.Parse(value.Replace(value.Substring(0,2),string.Empty))).ToString();
}
像这样,我可以在我的配置文件中放入 \x03
、\U0006
或其他值,它们将被读取为单个字符,整数值作为 ASCII 代码。可能会进一步详细说明(例如 Unicode),但这是第一个开始。