BCB服务端中socket通信传WideString,Android客户端显示中文乱码

wawayang123 2014-01-27 11:07:10
BCB服务端发送WideString,编码格式是Unicode,但传到Android后程序,显示中文乱码

是否需要escape加密一下?
再到Android客户端进行解密?
求BCB端加密代码!
...全文
364 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wawayang123 2014-02-07
  • 打赏
  • 举报
回复
最后问题解决,利用escape,unescape方法先在C++bulid端进行加密,后在android客户端进行解密操作 中文乱码的问题得到解决
wawayang123 2014-01-27
  • 打赏
  • 举报
回复
//--------------------------------------------------------------------------- void __fastcall TProcessThread::DataDisposal(void) //所有数据处理 { WideString RevStr; //定义一个用于缓冲的宽字符型数组 wchar_t buf[4096]; //建立一个消息父类的指针 AbstractMessage * msg; int iReceiveLength = 0; while(ClientSocket->Connected && !Terminated) { //每一次接收前先清空缓冲区 memset(buf,0,sizeof(buf)); Application->ProcessMessages(); //如果接收到了字符 iReceiveLength = ReceiveStr(buf); if(iReceiveLength>0) { //根据接收到的信息,初始化一个新的字串(用来传入数据库) RevStr=WideString(buf); if(g_bIsLoging) { AddMessage(RevStr); } } else { //如果在指定的时间内没有接收到消息就退出这个线程 break; } //这里用到了 Factory 模式,一个新的消息只要单独加一个新的子类就可以了 //根据不同的消息内容得到不同的子类 msg = MessageFactory::Create(RevStr,adosQuery); //如果有问题就退出 if(NULL == msg) return; try { //多态性,可以调用不同的子类的各自的Process函数 try { //虚函数,它将调用每一个子类各自的Process(); msg->Process(); //得到数据库的返回信息 Message += msg->GetFeedback(); //如果这个消息是登录消息,就更新用户名 if (typeid(SetCurrentUserMsg) == typeid(*msg)) { strCurrentUser = Message; UpdateMobileStatus(MD_CONNECT); } } catch(Exception &e) { AddMessage(RevStr); AddMessage((WideString)e.Message); Message = (WideString)e.Message; ExtractErrorMSG(Message); } catch(...) { ::OutputDebugString("Error In MsgProcess()"); } } __finally { //将返回信息加入到界面中 if(g_bIsLoging) { AddMessage(Message); } //将返回信息发送到客户端 //SendStr(Message.c_bstr(),Message.Length()*2); SendStr(Message.c_bstr(),Message.Length()*2); delete msg; msg = NULL; } } } 不好转,因为要兼容wince版本的设备,所以尽量不修改的情况下,能否支持
ccrun.com 2014-01-27
  • 打赏
  • 举报
回复
C++Builder这边, 把数据转换成ANSI的再发送. 你发送的代码是什么?
wawayang123 2014-01-27
  • 打赏
  • 举报
回复
原始数据: 18散8包16件17裸24斗6吨袋10木箱9捆3桶15集装箱11块5盒1卷2支12条13托4批7其他14车19套20铁箱21包装箱22亮格箱23片25件(组码)
ccrun.com 2014-01-27
  • 打赏
  • 举报
回复
发送的原始数据是什么?
action爱生活 2014-01-27
  • 打赏
  • 举报
回复
好眼熟的代码,学习中。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧