当前位置: 首页 > news >正文

samp-cef 解决客户端显示服务端传回数据乱码问题

核心思路:

在服务端传递之前把中文数据转换为十六进制,再把这个十六进制传给客户端,客户端收到以后再把十六进制转换为gbk

服务端代码示例:

   // StringToHexstock StringToHex(const string[], dest[], size = sizeof(dest)) {new hexChars[] = "0123456789ABCDEF";new len = strlen(string);new j = 0;for (new i = 0; i < len && (j < size - 3); i++) {new c = string[i] & 0xFF;dest[j++] = hexChars[c >>> 4];dest[j++] = hexChars[c & 0x0F];}dest[j] = 0;}// 调用方式stock Notify(playerid, const type[], const title[], const message[], time){new hTitle[256], hMsg[512];StringToHex(title, hTitle);StringToHex(message, hMsg);cef_emit_event(playerid, "send:action:notificar", CEFSTR(type), CEFSTR(hTitle), CEFSTR(hMsg), CEFINT(time));return 1;}

客户端代码示例

/*** 将 Hex 字符串转换为 GBK 编码的中文*/
function hexToGbkString(hex) {if (!hex) return "";// 1. 将 Hex 每两个字符转为一个字节数字const bytes = new Uint8Array(hex.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));// 2. 使用 TextDecoder 以 gbk 编码解码字节流// 注意:如果你的服务器是繁体,请把 'gbk' 换成 'big5'const decoder = new TextDecoder('gbk'); return decoder.decode(bytes);
}cef.on("send:action:notificar", (type, title, message, time) => {// 解码 GBK 编码的字符串title = hexToGbkString(title);message = hexToGbkString(message);Alert(type, title, message, time);
});

人机爬虫,转载注明出处!

http://www.jsqmd.com/news/294616/

相关文章:

  • 高中学习机深度测评:告别智商税!热门机型实测对比
  • 【开题答辩全过程】以 某县农村留守儿童爱心帮扶平台为例,包含答辩的问题和答案
  • Day28-20260124
  • America has been dead!
  • 冲刺Day5
  • JavaScript 中 ||(逻辑或)和 (逻辑与)
  • 数据结构——三十九、顺序查找(王道408) - 指南
  • NVIDIA GPU 系列用途分类梳理
  • PADS Layout 添加板宽圆角
  • 亲测好用!8款AI论文软件测评:研究生开题报告必备工具
  • 百度文库与网盘重组新事业群,向李彦宏汇报,压力之下的改革能不能成?
  • 排列组合专题
  • 数字化转型下零售门店管理软件的功能与选择考量
  • 闲鱼开店不用愁!自动回复 + 远程管理,随时随地搞定买家咨询就靠cpolar
  • JBoltAI网关:Java企业级AI的稳定“交通枢纽”
  • 连锁门店数字化平台核心功能与适用场景解析
  • 技术已到位,失业潮为何还未爆发?决策层的认知盲区才是真正的“缓冲带”
  • [Android] vFlow v1.4.0 可视化工作流自动化工具
  • [Windows] WeFlow v1.3.1-V信聊天记录浏览、导出
  • [Windows] 施工日志(工作日志)更新版
  • 【Jenkins从入门到精通:全面指南与实战教程】
  • ADB命令-Kernel常用信息
  • 英语期末复习
  • ADB命令-Kernel-Debug
  • 33.排序链表
  • 折线图的奇妙变奏:四种创意可视化方法
  • Reactor线程池切换publishOn与subscribeOn
  • 本地win系统和vmware 虚拟机 ubuntu实现文件共享
  • CDC虚拟串口与硬件串口传输速度的对比测试
  • 数据结构:加权图 - 详解