我有一个THTTPClient
在调用lHttpResp.ContentAsString()
时给出了奇怪的响应(显然是UTF-16编码?)
字符串的形式如下:
㰀㼀砀洀氀 瘀攀爀猀椀漀渀㴀∀⸀ ∀ 攀渀挀漀搀椀渀最㴀∀唀吀䘀ⴀ㘀∀ 猀琀愀渀搀愀氀漀渀攀㴀∀礀攀猀∀㼀㸀㰀刀䔀匀唀䰀吀㸀 㰀倀䄀夀倀䄀䜀䔀唀刀䰀㸀栀琀琀瀀猀㨀⼀⼀攀攀⸀琀攀猀琀⸀瀀愀礀最愀琀攀眀愀礀⸀挀漀洀⼀䠀漀猀琀倀愀礀匀攀爀瘀椀挀攀⼀瘀⼀栀漀猀琀瀀愀礀⼀瀀愀礀瀀愀最攀⼀㘀㜀 㔀㘀㘀㈀㔀㐀㌀㈀㐀欀䬀䬀儀㔀唀漀䈀椀吀氀㠀䔀爀䈀䴀 戀㰀⼀倀䄀夀倀䄀䜀䔀唀刀䰀㸀 㰀匀䔀匀匀䤀伀一吀伀䬀䔀一㸀㘀㜀 㔀㘀㘀㈀㔀㐀㌀㈀㐀欀䬀䬀儀㔀唀漀䈀椀吀氀㠀䔀爀䈀䴀 戀㰀⼀匀䔀匀匀䤀伀一吀伀䬀䔀一㸀㰀⼀刀䔀匀唀䰀吀㸀
运行Fiddler,我可以看到在原始或文本视图中的响应是好的,但在Webview中匹配上述编码。我可能错过了一些很明显的东西,但我已经尝试用TEncoding
转换无效,根据以下线程:
Delphi - converting string back from UTF-8
Fiddler的文本视图给出了正确的文本:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<RESULT>
<PAYPAGEURL>https://url/</PAYPAGEURL>
<SESSIONTOKEN>1670565241202KKv4NPBBScANOL6rxbi</SESSIONTOKEN>
</RESULT>
1条答案
按热度按时间n3schb8v1#
一位同事帮我找到了TEncoding。BigEndianUnicode,这是我唯一没有尝试过的,因为我的视野太窄了。分辨率如下。谢谢你的输入。