VB如何把WebBrowser控件中连接地址中的%3d%5e什么的转换为文字?

作者&投稿:雷盼 (若有异议请与网页底部的电邮联系)
vb的webbrowser控件如何获取选中的文字~

WebBrowser1.SetFocus
WebBrowser1.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT
'将内容复制到内存前剪贴板

Private Sub Command1_Click()
WebBrowser1.Navigate "http://zhidao.baidu.com/"
End Sub

Private Sub Command2_Click()
WebBrowser1.SetFocus
SendKeys "为什么下雪"
End Sub

是UTF8编码,到网上找了段代码,稍微修改了下

Option Explicit

Private Sub Form_Load()
MsgBox UTF8Decode("%e6%b5%8b%e8%af%95")
End Sub

Function UTF8Decode(utfstr As String)
'1、先分解成8个字符一串str8,然后转成中文(8字一个),前面无%,如"E4%B8%AD "16进制加%加16**8
'2、str8再加上8个chr(13),共16字,转成中文字后替换原字符串
'3、再把
Dim str As String
str = utfstr
Do
If InStr(1, str, "%E", vbTextCompare) > 0 Then
Dim a, b, c As Integer
a = InStr(1, str, "%E", vbTextCompare)
b = InStr(a + 1, str, "%")
c = InStr(b + 1, str, "%")
If c > 0 And b = a + 3 And c = a + 6 Then
Mid(str, a, 9) = U8toU(Mid(str, a + 1, 8)) & Chr(13) & Chr(13) & Chr(13) & Chr(13) & Chr(13) & Chr(13) & Chr(13) & Chr(13)
str = Replace(str, Chr(13), "", , , vbTextCompare)
'UTF8Decode = str'原在此
Else
Exit Do
End If
Else
Exit Do
End If
Loop
str = Replace(str, "%20", " ")
str = Replace(str, "%9", Chr(9))
UTF8Decode = str

End Function
Function c16to2(x) '16进制串转二进制串(4位一个字符)
'这个函数是用来转换16进制到2进制的,可以是任何长度的,一般转换UTF-8的时候是两个长度,比如A9
'比如:输入“C2”,转化成“11000010”,其中1100是"c"是10进制的12(1100),那么2(10)不足4位要补齐成(0010)。
Dim tempstr
Dim i: i = 0 '临时的指针
For i = 1 To Len(Trim(x))
tempstr = c10to2(CInt(Int("&h" & Mid(x, i, 1))))
Do While Len(tempstr) < 4
tempstr = "0" & tempstr '如果不足4位那么补齐4位数
Loop
c16to2 = c16to2 & tempstr
Next
End Function
Function c2to16(x)
'2进制到16进制的转换,每4个0或1转换成一个16进制字母,输入长度当然不可能不是4的倍数了

Dim i: i = 1 '临时的指针
For i = 1 To Len(x) Step 4
c2to16 = c2to16 & Hex(c2to10(Mid(x, i, 4)))
Next
End Function
Function c2to10(x)
'单纯的2进制到10进制的转换,不考虑转16进制所需要的4位前零补齐。
'因为这个函数很有用!以后也会用到,做过通讯和硬件的人应该知道。
'这里用字符串代表二进制
Dim mysign: mysign = Sgn(CInt(x)) '定义mysign这个东西,首先判断正负符号
x = Abs(CInt(Int(x)))
c2to10 = 0
If x = "0" Then Exit Function '如果是0的话直接得0就完事
Dim i: i = 0 '临时的指针
For i = 0 To Len(x) - 1 '否则利用8421码计算,这个从我最开始学计算机的时候就会,好怀念当初教我们的谢道建老先生啊!
If Mid(x, Len(x) - i, 1) = "1" Then c2to10 = c2to10 + 2 ^ (i)
Next
If mysign = -1 Then c2to10 = -1 * c2to10 '加上正负符号

End Function
Function c10to2(x) '10进制到2进制的转换
'这个函数在计算16位到2位转换时候用到了,
'没有做在16位里面是因为这个函数只是单纯10-2转换,不涉及16进制由4个2进制补齐空位,将来可以用到任何地方
'比如输入2,输出“10”而不是“0010”
'首先判断正负符号
Dim mysign: mysign = Sgn(x) '定义一个符号标记
x = Abs(x)
'然后判断有几位,至少一位
Dim WeiS: WeiS = 1
Do
If x < 2 ^ WeiS Then
Exit Do
Else
WeiS = WeiS + 1
End If
Loop
Dim tempnum: tempnum = x '定义一个临时的数字
Dim i: i = 0 '临时的指针
For i = WeiS To 1 Step -1
If tempnum >= 2 ^ (i - 1) Then
tempnum = tempnum - 2 ^ (i - 1)
c10to2 = c10to2 & "1"
Else
c10to2 = c10to2 & "0"
End If
Next
If mysign = -1 Then c10to2 = "-" & c10to2 '加上正负符号
End Function

Function U8toU(x)
'x像E4%B8%AD,前面无%
Dim a
'输入一堆有%分隔的字符串,先分成数组,根据utf8规则来判断补齐规则
'输入:关 E5 85 B3 键 E9 94 AE 字 E5 AD 97
'输出:关 B9D8 键 BCFC 字 D7D6
Dim WeiS '要判断第一个编码的位数
Dim Unicode '二进制的Unicode码
Dim alpha '定义单个字符
a = Split(x, "%") '定义一个临时数组
Dim i: i = 0 '临时的指针
Dim j: j = 0 '临时的指针

For i = 0 To UBound(a)
'MsgBox Len(a(i))
a(i) = c16to2(a(i)) '第一次循环,先转换成2进制再说
Next

For i = 0 To UBound(a) - 1
WeiS = InStr(a(i), "0") '判断第一次出现0的位置,
'可能是1(单字节),3(3-1字节),4,5,6,7不可能是2和大于7

'理论上到7,实际不会超过3。

Unicode = ""
For j = 1 To WeiS - 1
If j = 1 Then
a(i) = Right(a(i), Len(a(i)) - WeiS) '第一个去掉最左边的WeiS个
Unicode = Unicode & a(i)

Else
i = i + 1
a(i) = Right(a(i), Len(a(i)) - 2) '其余去掉最左边的两个
Unicode = Unicode & a(i)
End If

Next
U8toU = U8toU & ChrW(Int("&H" & c2to16(Unicode))) '总算完了,妈的!!
Next
End Function

...因为地址栏不支持支持中文,所以,如果想知道那就用百度吧,很简单,在地址栏输入:http://www.baidu.com/baidu?word=编码文字(如:%5d%9a%2c)&tn=you2000_pg

网址中类似“%D2%BB”的编码与汉字的相互转换:
http://user.qzone.qq.com/32063270/blog/1242461384


如何WEB中把字体加粗
<TITLE> ● 标题 定义文件标题,将显示于浏览顶端 <BODY> ● 本文 设计文件格式及内文所在 排版标记 <!--注解--> ○ 说明标记 为文件加上说明,但不被显示 <P> ○ 段落标记 为字、画、表格等之间留一空白行 <BR> ○ 换行标记 令字、画、表格等显示于下一行 <HR> ○ 水平线 插入一条水...

开目CAD所有键盘快捷键
F2: 实现作图窗和文本窗口的切换 F3: 控制是否实现对象自动捕捉 F4: 数字化仪控制 F5: 等轴测平面切换 F6: 控制状态行上坐标的显示方式 F7: 栅格显示模式控制 F8: 正交模式控制 F9: 栅格捕捉模式控制 F10: 极轴模式控制 F11: 对象追 踪式控制 Ctrl+B: 栅格捕捉模式控制(F9)Ctrl+C: 将选择的...

求一份CAD2004版.画图命令
插入块 ——I 创建块 ——B 图案填充 ——BH; H 多行文字 – MT删除——E 复制对象 ——CO 镜像——MI 偏移 – O阵列——AR 移动——M 旋转——RO 缩放——SC 拉伸——S 修剪——TR 延伸——EX 打断于点——BR 打断—— break BR 倒角——CHA 圆角——F 分解——X 特性匹配 ——MA 放弃CTRL...

打开别人的网站做Execl导出时候出现错误,这句活是什么意思?
意外的字符输入:在 <b> D“输入:\\ WEB\\ jixiao\\ excel_svr\\ PHPExcel.php<\/ b> <b>795行<\/b> <br\/> 咨询一下该站的管理人员

e.b.怀特简介~!!!要英文的~!!!
lwyn Brooks "E.B." White (July 11,1899 - October 1,1985)[1] was an American writer,best known as the author of children's books Charlotte's Web and Stuart Little.White graduated from Cornell Universit。E·B·怀特,美国当代著名散文家、评论家,以散文名世,“其文风冷峻清丽,...

部队驾驶证是A证换哪种地方驾驶证不考试
部队驾驶证换C1以及C1以下的驾驶证是不需要考试的,直接换证。按规定:持军队、武装警察部队机动车驾驶证的人申请大型客车、牵引车、中型客车、大型货车准驾车型机动车驾驶证的,应当考试科目一和科目三;申请其他准驾车型机动车驾驶证的,免予考试核发机动车驾驶证。

求优化大师注册码
HappyEO电子琴v3.06标准版 用户名:www.crsky.com 地址:web@crsky.com 注册码:ZTXDK5OC 系统优化大师2004Build07.01 Name:2034520 Code:7215136k5u909zf1112 魔装网神2003v3.70 Name:crsky Code:16AF1C1 家长无忧v2.10 注册码:BNSKC-FCX54-V6LHQ-5H6BS-MXA65 速填助手v2.1 Name:crsky[BCG] Code:6419bh16...

哪里能免费下载到周润发版的<上海滩>全集?
http:\/\/blog.xunlei.com\/web\/category.html?uin=dajianll&category_id=755&keyword=%e4%b8%8a%e6%b5%b7%e6%bb%a9 支持迅雷下载,有周润发和陈锦鸿两个版本的上海滩。有全集的

晋中市18713172984: VB中怎样用webbrowser控件? -
麻鲁益肾: 右击工具箱窗口--->部件--->选上Microsoft Internet Controls--->确定 基本操作: goforward 前进 goback 后退 gohome 回主页 navigate 浏览 stop 停止 gosearch 搜索 属性:LocationURL网页地址 LocationName网页标题 在新窗口打开链接:Private...

晋中市18713172984: visual basic 中如何添加WebBrowser控件 -
麻鲁益肾: 在部件中选上“Microsoft Internet Controls”,它就会出现在工具箱中了,如果列表中没有的话,就点“浏览”,找C:\windows\system32\shdocvw.dll,如果还找不到的话,就以shdocvw.dll为关键字到网上搜索下载吧

晋中市18713172984: 如何在vb中控制webbrowser的弹出窗口 -
麻鲁益肾: 给出以下三种方法你可以试一下: 方法一:控制webbrowser不弹出IE窗口的方法是在控件的NewWindow2事件里面添加如下代码:Set ppDisp = WebBrowserTemp.Object ' WebBrowserTemp为自己在窗体中另外添加的Webbrowser控件 如果...

晋中市18713172984: VB 怎么样添加webbrowser1的控件? -
麻鲁益肾: 工程—》部件—》Microsoft Internet Controls 勾上以后点击确定,webbrowser控件就会出现在你的工具箱里了

晋中市18713172984: 如何才能使vb中的webbrowser控件出现?
麻鲁益肾: 在工具箱上右击,选部件,勾选microsoft Internet controls ,确定即可

晋中市18713172984: VB 动态创建webbrowser控件 -
麻鲁益肾: 可以使用控件数组load和unload来加载和移除 也可以Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me) web1.Visible = True web1.Move 0, 0, 1000, 1000其中的变量名和控件名和容器以及位置尺寸自己修改如果出现错误修改过程属性、生成、取消勾选 删除有关未使用的activx控件的信息

晋中市18713172984: 怎么我的VB没有WebBrowser控件呢? -
麻鲁益肾: 在一般状态下用快捷键Ctrl+T打开“部件”,选上“Microsoft Internet Controls”.如果列表中没有,就点“浏览”,找x:\windows\system32\shdocvw.dll,x表示系统所在盘符.如果还找不到就先到网上下载这个dll文件再重复上述步骤.

晋中市18713172984: vb中在工具栏中添加WebBrowser?
麻鲁益肾: 工程 部件 选中 Microsoft Internet Controls

晋中市18713172984: VB中动态生成和删除WEBBROWSER控件方法 -
麻鲁益肾: 比较随意的方法是,在你的窗口上画一个webbrowser控件,定义一个名字,假设是wb,然后(关键)在index属性上输入0.这样这个控件的名字就是wb(0).在程序中可以用一个counter变量标记你现在有多少个wb.比如在你需要新建一个...

晋中市18713172984: 如何在VB中插入网页 -
麻鲁益肾: VB6.0可使用WebBrowser控件的navigate方法关联网址,就能在窗体的WebBrowser控件中显示网页.WebBrowser 控件,这个控件允许将 Web 页面作为 Visual Basic 窗体的一部分运行.控件添加,工程-部件-在Microsoft Internat Controls 前勾选-确定 在工具箱双击该控件,窗体就有WebBrowser 控件,调整其大小.实例代码 Private Sub Form_Load() WebBrowser1.navigate "http://zhidao.baidu.com/" End Sub

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网