日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理

發(fā)布時(shí)間:2025/7/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用CEF4Delphi取網(wǎng)頁元素時(shí)碰到ElementInnerText里含有" "

比如網(wǎng)頁源碼里是"內(nèi)容 "取出來顯示就變成"內(nèi)容?"

搜索大部分是說把" "替換成其它字符即可

但實(shí)際操作怎么也替換不了,就算變量為AnsiString也不行

最后用了以下方法解決

參考網(wǎng)頁:

https://blog.csdn.net/qq_29683707/article/details/80860904

關(guān)于&nbsp空格轉(zhuǎn)成正常空格‘ ’的方法

?1>先把字符串轉(zhuǎn)碼 let data = encodeURI(要轉(zhuǎn)化的值)

?2>接下來替換掉&nbsp空格 data = data .replace(/%C2%A0/g,'%20');
?3>再轉(zhuǎn)回來就ok了 data = decodeURI(data);

要用到encodeURI,找到Delphi版的

http://www.delphitop.com/html/zifuchuan/2599.html

?

方法1
user??Httpapp;?

HttpEncode(AnsiToUtf8('中文'));


方法2
uses
??IdURI;

..
begin
??S?:=?TIdURI.URLEncode(str);
//
??S?:=?TIdURI.URLDecode(str);
end;

使用方法2的TIdURI.URLEncode,程序出錯(cuò),原因不明

使用方法1成功

直接 TmpTitle:= HTTPEncode(TmpTitle); 即可

但編譯器提示警告

[dcc32 Warning] uMiniBrowser.pas(469): W1000 Symbol 'HTTPEncode' is deprecated: 'Use TNetEncoding.URL.Encode'
[dcc32 Warning] uMiniBrowser.pas(471): W1000 Symbol 'HTTPDecode' is deprecated: 'Use TNetEncoding.URL.Decode'
[dcc32 Hint] uMiniBrowser.pas(469): H2443 Inline function 'HTTPEncode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list
[dcc32 Hint] uMiniBrowser.pas(471): H2443 Inline function 'HTTPDecode' has not been expanded because unit 'System.NetEncoding' is not specified in USES list

?

意思是HTTPEncode和HTTPDecode已經(jīng)棄用請用TNetEncoding.URL.Encode和TNetEncoding.URL.Decode

點(diǎn)進(jìn)HTTPEncode看看

function HTTPDecode(const AStr: string): string; beginResult := TNetEncoding.URL.Decode(AStr); end;function HTTPEncode(const AStr: string): string; beginResult := TNetEncoding.URL.Encode(AStr); end;

其實(shí)就直接調(diào)用了

TNetEncoding.URL.Encode

所在單元是 System.NetEncoding

?

轉(zhuǎn)載于:https://www.cnblogs.com/samvon/p/10086475.html

總結(jié)

以上是生活随笔為你收集整理的Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。