通过Unicode传递中文,防止接收端出现乱码
来源:互联网 发布:淘宝如何设置客户权限 编辑:程序博客网 时间:2024/06/05 05:45
最近在项目中发现在C++程序中用Socket模拟http请求,发送中文字符,在接收端出现乱码。 虽然说传输过程中设置charset可以避免乱码,但是多次尝试后还是不能解决。
最后只好用Unicode码代替中文传输,在接收端再还原成中文。
C++程序中的中文又是一个C#程序发送过去的。 所以我干脆在C#程序中将中文转成16进制的Unicode代码发送过去。最终在前台JS代码接收到Unicode编码时将它还原成中文。
C#中将字符串转换成Unicode码:
public string StringToUnicode(string text)
{
string strUni = null;
string temp = null;
foreach (char c in text)
{
temp = string.Format("{0:x}", (int)c);
if (temp.Length < 3)
temp = "00" + temp;
strUni += "," + temp;
}
return strUni;
}
js代码中接收到Unicode代码后,还原成中文:var str = ",623f,95f4,0031,002e,002e,002e,002e,002e,002e,005f,002d,0021,0040,0023,0026,002a"; // 所有的逗号都替换成 %u
var str1 = str.replace(/\,/g, '%u');
console.log(unescape(str1)); // unescape 函数可以将Unicode编码解析成中文。必须在四位的16进制数前加上 %u
0 0
- 通过Unicode传递中文,防止接收端出现乱码
- 浏览器传递中文,服务端接收 出现乱码
- 浏览器传递中文,服务器接收出现乱码
- 通过url方式传递中文乱码解决办法
- Struts通过url传递中文乱码问题
- 通过url方式传递中文乱码解决办法
- 通过url方式传递中文乱码解决办法
- 解决jsp通过地址栏传递中文乱码
- ASP.net接收Form传递的中文值乱码问题
- SpringMVC Controller 接收页面传递的中文参数出现乱码
- SpringMVC Controller 接收页面传递的中文参数出现乱码
- 前台向后台传递中文参数,防止乱码
- 通过流方式导出文件,防止文件名中文乱码
- Servlet接收中文乱码
- SocketIO接收中文乱码
- Scanner接收中文乱码
- 如何防止中文乱码
- mysql防止中文乱码
- 浅析 php 的几种运行方式
- Hdu-5775 Bubble Sort
- Word Ladder II
- Android中的MVC和MVP(分析+实例)
- Learning hierarchical representations for face verification with convolutional deep belief networks
- 通过Unicode传递中文,防止接收端出现乱码
- skynet的运用-mmo类型
- html - style 元素
- sap pp 详细讲解 生产结算 工单结算
- openSNS 使用关闭游客访问插件后注册头像无法上传问题解决。
- Tez上线部署记录
- 数据结构——线索化二叉树
- JAVA总结
- nlogn最长单调递增