当前博客:TCP发送数据编码转换

80 次浏览【转载需注明来源】

博客作者:【1335****6651】

个性签名:寒窗苦读十年,一朝凤舞九天

通过 编码转换类.编码转换("utf8", 反馈信息["数据内容"], 真)可以将接收到ASCII编码的数据转换utf8在快码里显示,但我想快码发送数据时的数据就是ASCII编码的数据,通过  编码转换类.编码转换("gbk","你好啊客户端",真)转换后客户端收不到数据,转换收到的就是乱码。

客户端的接收和发送编码格式都是固定,不能转换编码

默认排序
Generic placeholder image
Generic placeholder image
快码FOF编程 Time: 2024-02-02 15:10:30
局部变量 服务句柄 = TCP服务端.创建TCP服务({ "端口": 3000, "地址": "0.0.0.0", "最大连接数": 1000, "是否组包": 真 }, (反馈信息) => {
    调试输出(反馈信息);
});
常量 编码三方库 = 导入模块("iconv-lite");
定义函数 发送数据() {
    局部变量 所有客户ID = TCP服务端.获取所有连接(服务句柄);
    循环 (局部变量 索引 = 0; 索引 < 所有客户ID.长度; 索引++) {
        常量 GBK数据 = 编码三方库.encode("你好,兄弟!", "gbk");
        TCP服务端.发送消息(服务句柄, 所有客户ID[索引], GBK数据);
    }
}

上述是一段代码,群发到客户端,发送到数据是GBK编码。

其核心代码为:

常量 编码三方库 = 导入模块("iconv-lite");
常量 GBK数据 = 编码三方库.encode("你好,兄弟!", "gbk");

注意:你应该在脚本标签中首先申明该变量,这样则可以一直使用,不要再方法中申请,会浪费效率。

例如正确的写法:

<脚本>
    常量 编码三方库 = 导入模块("iconv-lite");
    
    定义函数 发送数据() {
        常量 GBK数据 = 编码三方库.encode("你好,兄弟!", "gbk");
        TCP服务端.发送消息(服务句柄, 所有客户ID[索引], GBK数据);
    }
</脚本>
Generic placeholder image
快码FOF编程 Time: 2024-02-02 15:14:40

详情这里给出了一个易语言与快码FOF通信的案例:通信案例


TCP发送数据编码转换