我目前正在从一个使用图标字体标识信息的网站上抓取信息。当我找到包含图标的元素时,将按预期方式获得“ ”字符。我想识别字符的utf8代码,因此能够识别使用了哪个符号。
我正在按照以下方式做一些事情:
For Each HTMLElement in HTMLDocument.getElementsbyClassName("icon-class")
utf8code = HTMLElement.innerText
If utf8code = U+00AE Then
'do things
End If
Next
答案 0 :(得分:0)
好吧,虽然我无法完全实现识别任何字符的utf8代码的目标,但是我设法找到了一种识别用例字符的方法。
事实证明,在我的情况下,大约有30个字符,它们或多或少地顺序出现在UTF8代码页中。然后,主题是了解UTF8代码的形成方式,用户@RemyLebeau帮助我指出了正确的方向。该视频对此非常有帮助:https://youtu.be/MijmeoH9LT4
我自己的总结如下:
第一个字节:删除前n + 1个位,其中n =找到的字节总数
2nd-nth字节:删除前两位
结果应从最右边的位开始向左合并,剩余的任何空格都必须是8的倍数,以0填充。
因此在我的示例中有4个字节:
243、178、129、139
11110011、10110010、10000001、10001011
11110 - 011 , 10 - 110010 , 10 - 000001 < / strong>, 10 - 001011
000(011)(11,0010)(0000,01)(001011)
00001111,00100000,01001011
F,20,4B
现在,我用来帮助识别要查找的字符的代码:
Dim utf8Encoding As New System.Text.UTF8Encoding(True)
Dim encodedString() As Byte
encodedString = utf8Encoding.GetBytes(HTML_Element.innerText)
Select Case encodedstring(3)
Case 147
Case 155
End Select
在我的特殊情况下,我能够使用哈希表将第4个字节的值与所需的单独值相关联。
这是一个好的解决方案吗?不,它仅在特定情况下有效,并且能够简单地获取UTF8代码将创建一个对于所有用例而言更有效,更优雅的解决方案。但是由于这是一个仅供个人使用的项目,并且由于缺乏个人理解和缺乏愿意帮助我理解的人们的结合,因此该解决方案对我有用,因此我认为如果有人发现自己陷入了困境,我将把它包括在内。类似的情况,上述快捷方式可能会有所帮助。