【问题标题】:Input in hex or ASCII, but ensure output in ASCII?以十六进制或 ASCII 输入,但确保以 ASCII 输出?
【发布时间】:2011-05-25 21:52:36
【问题描述】:

我正在尝试使用 C# XMLTextReader 从 XML 文件中读取数据。我读入的大部分数据都是 ASCII 格式的,但也有一些值是十六进制格式的。

要读取数据,我使用以下代码行:

string PIDData = reader.ReadElementString();
Console.WriteLine("Value: " + PIDData);

所以当 PIDData 为十六进制时,输出为十六进制。

如何进行测试以查看值是十六进制还是 ASCII,如果是十六进制则执行转换?

【问题讨论】:

  • 当它被一个人阅读时,你怎么知道它是否是十六进制的?
  • 听起来好像错误的值被插入到了 xml 文档中。
  • 是的,问题是 XML 中的某些数据格式错误,但它是从嵌入式设备读取的诊断数据,所以我需要处理它。

标签: c# xml ascii hex


【解决方案1】:

如果你有一个包含值的字符串...

BEEF

...您会将其分类为 ASCII 还是十六进制?

你不能——也可以。

【讨论】:

  • 或“FED A BAD DAF”(抱歉,想不到最后一个词代替了真实词)
  • 啊,是的,我明白你的意思了。我不太确定要使用的正确术语。十六进制是指 41 42 43 而不是 ABC ASCII。
  • 如果十六进制数据以 0x... 为前缀,例如“0xDEADBEEF”,您可能会有机会。它仍然是“ASCII”,但您可以做出假设并将其视为十六进制字符串。
  • 我明白你在说什么,我想我需要换一种方式来思考这个问题。
猜你喜欢
  • 1970-01-01
  • 2021-02-06
  • 2016-06-10
  • 2015-02-20
  • 2015-08-23
  • 2012-10-02
  • 2011-08-02
  • 1970-01-01
  • 2018-05-28
相关资源
最近更新 更多