QT-通信编码格式问题


一、项目场景

1.QT客户端与服务端通信时,转化步骤如下:

  • 1)客户端先将数据进行json序列化
  • 2)利用SharpZipLib::GZip_Compress进行压缩
  • 3)转化成Base64格式

2.原数据示例

"{ "Function" : "GetSysTime", "IsMutipleReturn" : false, "MessageContent" : "systime", "MessageSequence" : 0, "MsgGuid" : "", "Passport" : "IcsonPDA", "Totals" : 1, "Usage" : "User" }" 

3.转化后数据

"H4sIAAAAAAAA/y2NwQ6CMBBEf6Xp2YNevRmMhAMJEfgAUkfSBLfY3R6I8d/tVo47783sx9hbIic+kDVnY2tIv/HgX7AHYxtuk/h1wR2SYjGe08LIqAXzNKMKJCApXd5Y9uJOe7wTyEHxUWOe6+QfxVatm5jXEP/1xnGg7npRMATJfzQ+5WvUreKMjGjN9wf8hZuAtgAAAA=="

二、问题描述

1.采用Soap协议

客户端采用Soap协议进行通信,服务端利用Zip和GZipInputStream可以解压成功,但接受到的数据不可读格式。在将数据转化为字符串类型后显示为乱码。

2.采用HTTP协议

客户端采用HTTP协议进行通信,服务端利用Zip和GZipInputStream解压报错。错误信息为Error GZIP header, second magic byte doesn’t match。


三、原因分析

猜测服务器在解析Soap协议时,按照byte数组进行解析,所以服务端解析会报错。


四、解决方案

1)先将byte数据转化为字符串;
2)再利用Convert.FromBase64String转换为8-bit unsigned byte array
Convert.FromBase64String(System.Text.Encoding.Default.GetString(requestbytes))


相关推荐

  1. QT-通信编码格式问题

    2024-02-16 09:44:02       29 阅读
  2. qt mingw编辑器的编码问题

    2024-02-16 09:44:02       33 阅读
  3. 关于ffmpeg的安装和编码格式问题

    2024-02-16 09:44:02       12 阅读
  4. Qt-编码

    2024-02-16 09:44:02       24 阅读
  5. 音频格式编码

    2024-02-16 09:44:02       10 阅读
  6. 图片转为编码格式

    2024-02-16 09:44:02       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-16 09:44:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-16 09:44:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-16 09:44:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-16 09:44:02       18 阅读

热门阅读

  1. 面向对象和面向过程

    2024-02-16 09:44:02       30 阅读
  2. oracle dbms_job 写法

    2024-02-16 09:44:02       29 阅读
  3. Transformer?

    2024-02-16 09:44:02       26 阅读
  4. 程序员为什么不喜欢关电脑?

    2024-02-16 09:44:02       30 阅读
  5. c# linq 查询

    2024-02-16 09:44:02       25 阅读
  6. Spark中多分区写文件前可以不排序么

    2024-02-16 09:44:02       34 阅读
  7. Vue插槽

    Vue插槽

    2024-02-16 09:44:02      23 阅读
  8. JVM学习

    JVM学习

    2024-02-16 09:44:02      27 阅读
  9. 学习总结16

    2024-02-16 09:44:02       26 阅读
  10. AutoSAR(基础入门篇)9.5-实验:配置通信

    2024-02-16 09:44:02       24 阅读