安卓使用Socket发送中文,C语言服务端接收乱码问题解决方式
今天用安卓通过Socket发送数据到电脑上使用C语言写的服务端,发送英文没有问题,可当把数据改变成中文时,服务端接收到的数据确是乱码。
突然想到。VS的预处理使用的是ANSI编码。而安卓网络数据都是UTF8格式的。这样直接使用printf打印出出来的当然是乱码,所以解决方法就是把UFT8格式的数据转换成ANSI!
避免大家遇到类似问题。少走弯路,我如今把自己找的转码函数贴出来!
C语言文字编码转换函数:
//UTF8转成Unicode
wchar_t * UTF8ToUnicode( const char* str )
{int textlen = 0;wchar_t * result;textlen = MultiByteToWideChar( CP_UTF8, 0, str,-1, NULL,0 ); result = (wchar_t *)malloc((textlen+1)*sizeof(wchar_t)); memset(result,0,(textlen+1)*sizeof(wchar_t)); MultiByteToWideChar(CP_UTF8, 0,str,-1,(LPWSTR)result,textlen ); return result;
}//Unicode转成ANSI
char * UnicodeToANSI( const wchar_t *str )
{char * result;int textlen = 0;// wide char to multi chartextlen = WideCharToMultiByte( CP_ACP, 0, str, -1, NULL, 0, NULL, NULL );result =(char *)malloc((textlen+1)*sizeof(char));memset( result, 0, sizeof(char) * ( textlen + 1 ) );WideCharToMultiByte( CP_ACP, 0, str, -1, result, textlen, NULL, NULL );return result;
}
这样大家在接收到数据的时候,直接转换成目标编码就能够了
安卓使用Socket发送中文,C语言服务端接收乱码问题解决方式相关推荐
- windows7安装中文语言包及文乱码问题解决方法
[http://youzitool.com 新博客,欢迎访问] windows7安装中文语言包及文乱码问题解决方法 安装中文语言包 1.最近安装了windows7英文版,如果要使用中文语言,可通过&q ...
- 表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)
表单及数据提交: 表单的作用: 用于收集相关信息:html中有专门提交数据的标签,可以很容易的收集用户输入的信息,这个标签有两个重要的属性:action表单提交的地址和method以什么方式提交表单, ...
- 区域数据导入功能(在服务端接收上传文件)
在服务端接收上传的文件 在Action中提供一个File类型的属性,名称和上传的文件输入框名称一致regionFile @Controller @Scope("prototype" ...
- 常见中文乱码问题解决方式
当服务器向浏览器发送响应页面时,有时候因为码表的查询不一致,会在浏览器出现乱码问题.比如说服务器中我使用的是UTF-8,而浏览器默认是查询本地码表,注意如果是中文系统则使用的是GBK码表.造成了码表查 ...
- java post流_Java后端HttpClient Post提交文件流 及服务端接收文件流
客户端将文件转换为流发送: 依赖的包: org.apache.httpcomponents httpclient 4.4 org.apache.httpcomponents httpmime 4.4 ...
- 从服务端接收数组_Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?...
前言 经过前 5 篇文章的介绍,估么着小伙伴们已经对消息生产和消费的流程应该有一个比较清晰的认识了.当然小伙伴们肯定也比较好奇,Kafka 能够处理千万级消息,那它的消息是如何在 Partition ...
- Golang使用协程通过Socket实现客户端向服务端发送数据,服务端接收数据
一.服务端代码: package mainimport("fmt""net" )func process(conn net.Conn) {//延迟关闭目前连接d ...
- android socket 收不到数据,android Socket服务端接收客户端数据问题
packagecom.example.qmik.framework;importjava.io.BufferedOutputStream;importjava.io.IOException;impor ...
- token在浏览器和服务端接收和发送
1.使用header 客户端 index.html <html> <head><script src="http://libs.baidu.com/jquery ...
最新文章
- 【阿里Q3财报:阿里云去年营收破百亿,亚洲市场遥遥领先】
- 蓝鸥Unity开发基础——Switch语句学习笔记
- {}是set类型还是dict类型呢
- leetcode542. 01 矩阵(bfs/dp)
- 1-3-顺时针旋转矩阵
- 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升 1
- 转录组测序多少生物重复合适?2个?3个?48个?
- mpvue中使用小程序云开发总结
- PH国家表单下拉错位问题
- 输入n个整数,输出其中最小的k个
- go编译为linux可执行文件,go编译可执行文件
- Windows 使用技巧之WinZIP密码破解
- Android 融云即时通讯简单概述
- 基于最大似然估计与卡尔曼滤波的室内目标跟踪
- 分数阶傅立叶变换程序汇总(转载)
- egg入门指引,你绝对用得到
- HTML hr 标签定义和用法
- 通过SCADA实现KPI分析和预测性维护远比想象中简单
- C++ STL和泛型编程(四)----movable
- 理解mysql服务_我所理解的MySQL(一)基础架构