DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 4
在线用户: 1
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 magiewang (magiewang) ▲▲▲△△ -
普通会员
2020/10/10 18:38:10
标题:
求教INDY编码问题。 浏览:1342
加入我的收藏
楼主: 请问INDY服务端CONNECT事件里:
    AContext.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8();

设定了默认编码为UTF8,现在更换其他TCP组件,但客户端不能修改了。

请问按INDY这样编码,在其他TCP组件里,例如TTCPBlockSocket下,
SendString前应该做如何编码,我试着发送之前进行UTF8编码,但客户端没反应,应该是没收到或者编码不正确,客户端没有源码。

求教 IndyTextEncoding_UTF8()在其他组件里如何编码。
----------------------------------------------
-
作者:
男 lsuper (lsuper) ★☆☆☆☆ -
盒子活跃会员
2020/10/10 19:56:34
1楼: 通过 wireshark 等 sniff 抓包对比一下
----------------------------------------------
-
作者:
男 magiewang (magiewang) ▲▲▲△△ -
普通会员
2020/10/10 23:27:55
2楼: 服务端源码有的,服务端发送就是直接进行base64编码发送,但由于设定了AContext.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8();,收到的并不是base64编码结果,说明indy 通过IndyTextEncoding_UTF8()又进行了编码,但我已经尝试在发送前进行utf8编码了,但显然结果和indy编码结果不同。
----------------------------------------------
-
作者:
男 lsuper (lsuper) ★☆☆☆☆ -
盒子活跃会员
2020/10/11 9:36:52
3楼: 如果内容主动做了 base64 编码之后已经是 ansi 了,在 utf8 内容不变的意义不大;还是建议抓包看真相
----------------------------------------------
-
作者:
男 roadrunner (roadrunner) ★☆☆☆☆ -
盒子活跃会员
2020/10/11 11:33:05
4楼: 只收bytes, 只发bytes, 编码一律自己负责, 不要交给indy
----------------------------------------------
-
作者:
男 magiewang (magiewang) ▲▲▲△△ -
普通会员
2020/10/11 12:57:56
5楼: roadrunner是的,但现在没办法,客户端没源码,只能根据以前的去改服务端
----------------------------------------------
-
作者:
男 magiewang (magiewang) ▲▲▲△△ -
普通会员
2020/10/11 14:24:48
6楼: 向各位汇报一下,编码问题已经解决,原来是自己多此一举,虽然设定了IndyTextEncoding_UTF8(),但发送的数据并没有进行编码,自己加了utf8编码后反而出了问题。测试了一下,接收到的数据也没有进行utf8编码。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行59.57031毫秒 RSS