aardio(GBK汉字转UTF8汉字)获取的字符串代码乱码的解决方法

aardio获取的字符串代码乱码的解决方法
"加电开机"的16进制是BC D3 B5 E7 BF AA BB FA
console.log(16进制汉字) 不乱码
…io.print(16进制汉字) 乱码
winform.edit.log((16进制汉字) )
aardio内核现在使用的代码是utf8,如果返回的编码是gbk的,显示出来就是乱码。
解决方法:r=string.fromto(r,936,65001); //GBK转UTF8
其中936是GBK的代码页,65001是utf8的代码页。
使用::Kernel32.GetACP()可以获取本地计算机的默认代码页。自己尝试了一下,返回的是936
例子: ipData = string.fromto(ipData,936,65001); //GBK汉字转UTF8汉字

tcpServer.onRead = function(hSocket,err){
	var client = tcpServer.client(hSocket);	    	
	var remoteIP,remotePort = client.getRemoteIp();
	var clientName = remoteIP+":"+remotePort
	var Data = client.readAll();  //读取数据
	//console.hex(Data);  //打印收到16进制格式的数据
	//console.log(Data); //打印收到ASII格式的数据	
	var ipData = remoteIP +" "+  Data; 
	console.log(ipData);	
	ipData = string.fromto(ipData,936,65001); //GBK汉字转UTF8汉字	
	winform.jieShou_text.log(ipData ,'\r\n' : null);
	

转载于:
https://blog.csdn.net/weixin_30344131/article/details/96601477
https://www.cnblogs.com/yaoyue68/p/10005983.html

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值