包含十六进制和十进制值的字符串的输出数字

时间:2016-04-05 00:12:45

标签: c# int hex type-conversion decimal

我正在从网站上抓取数据,以便为我的同事获取有用的数据,而不必经常刷新页面。

C#代码直接从HTML中提取数据。但数据以奇怪的方式加密,并以非人类可读的字符串形式返回,这对我们没有帮助。

例如,在表格中,产品编号可能显示为" 14501219"。在HTML中,包含数据的元素的内部文本是"1 4501219"。

我需要知道如何:

  1. 将十六进制和十进制从同一个字符串
  2. 解析为int
  3. 将这些结果附加到最终输出
  4. 到目前为止,我使用了这个伪代码,但我不知道它在C#中的外观或使用的转换方法:

    for (int i = 0; i < inputString.Length; i++)
       {
          if (inputString[i] = '&' && inputstring[i+1] = '#')
               {
                    if (inputstring[i+2 = 'x'
                    {
                         //convert to hex
                         //append to outputList
                    }
                    else
                    {
                        //convert to decimal
                        //append to outputList
                    }
                }
          else
                {
                     //convert to string literal
                }
       }
    

    非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

在您添加了字符串文字示例后,我新了您所看到/要求的内容。为了使http客户端不被某些特殊字符绊倒,使用acsii表示来对其进行编码。大多数框架都有一种处理编码网址的方法。例如,在c#中,您应该始终确保在读取和写入时在内部使用HttpUtility.UrlDecodeHttpUtility.UrlEncode