从包含十六进制和十进制值的字符串中输出数字
Output numbers from a string containing hex and decimal values
我正在从网站上抓取数据,以便为我的同事获取有用的数据,而不必经常刷新页面。
C# 代码直接从 HTML 中提取数据。但是数据以一种奇怪的方式加密,并且returns作为一个非人类可读的字符串,这对我们没有帮助。
例如,在table中,产品编号可能显示为“14501219”。在 HTML 中,包含数据的元素的内部文本是“14501219”。
我需要知道如何:
- 从同一个字符串中将十六进制和十进制解析为 int
- 将这些结果附加到最终输出
到目前为止我已经完成了这个伪代码,但我不知道它在 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
}
}
如有任何帮助,我们将不胜感激
在你添加了字符串文字示例后,我将新添加你的内容 seeing/asking。为了让 http 客户端不被某些特殊字符绊倒,他们使用 acsii 表示形式进行编码。大多数框架都有一种处理编码 url 的方法。例如,在 c# 中,您应该始终确保在读取和写入时在内部使用 HttpUtility.UrlDecode and HttpUtility.UrlEncode。
我正在从网站上抓取数据,以便为我的同事获取有用的数据,而不必经常刷新页面。
C# 代码直接从 HTML 中提取数据。但是数据以一种奇怪的方式加密,并且returns作为一个非人类可读的字符串,这对我们没有帮助。
例如,在table中,产品编号可能显示为“14501219”。在 HTML 中,包含数据的元素的内部文本是“14501219”。
我需要知道如何:
- 从同一个字符串中将十六进制和十进制解析为 int
- 将这些结果附加到最终输出
到目前为止我已经完成了这个伪代码,但我不知道它在 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
}
}
如有任何帮助,我们将不胜感激
在你添加了字符串文字示例后,我将新添加你的内容 seeing/asking。为了让 http 客户端不被某些特殊字符绊倒,他们使用 acsii 表示形式进行编码。大多数框架都有一种处理编码 url 的方法。例如,在 c# 中,您应该始终确保在读取和写入时在内部使用 HttpUtility.UrlDecode and HttpUtility.UrlEncode。