关于Android的Socket接收C/C++的char大于128时的问题
来源:互联网 发布:淘宝买东西优惠软件 编辑:程序博客网 时间:2024/05/30 04:31
Java的char是两个字节长度,C/C++的char只有1个字节长度。
近来在做一个基于电脑和手机交互的基于图像的三维绘制东西,一直习惯于C++的直接读写操作CHAR类型
,发现在JAVA客户端用BufferedReader读取发送来的CHAR类型数据时,当发送的CHAR类型的数据的ASCII码大于128时,读取的CHAR类型的值变为65536。
查了查发现,问题是:编码方式不同,JAVA 的字节 转变为char时只能l转换0-128,而C++这面数据发送
的是0-256,当使用BufferedReader进行读取时,读取一个字节的数据,但这个字节的数据大于128时会发
生溢出,转变为二字节的最大值65536。
对JAVA方而的东西不太了解,就使用了个可能很笨的方式来读取这
些ASCII码大于128的字符。直接使用字节流读取方式读取字节流,然后将字节转化为INT类型,即为C++中CHAR类型的ASCII码,就可以对这些图像数据进行处理了。
inputStream = mSocketClient.getInputStream(),inputStream.read(buffer3); //读取发送的来的数据sumOfData = buffer3[0]&0xff; //字节转化为INT
0 0
- 关于Android的Socket接收C/C++的char大于128时的问题
- 关于c语言char*的问题
- JAVA SOCKET服务端接收C客户端字节长度的问题
- 转载关于char的c语言指针问题:char **s char *a [ ] char a [ ]
- SOS-关于Socket类接收的问题
- 关于socket的接收堵塞问题
- 关于socket的接收堵塞问题
- 关于socket的接收堵塞问题
- 关于android&java在socket通讯单字节大于127的问题
- c/c++和java中关于char的长度问题
- Windows socket通信出现接收数据时出现recv返回大于0,但缓冲区为大小为0的问题
- JNA 如何接收C层返回的char**数据
- 关于C语言char *指向的字符串
- 关于char越界的简单c
- c++ 关于char *的…
- char* c和char c[]的区别
- C#Socket传送/接收中文出现乱码的解决办法
- 使用java建立基于socket的c/s接收系统
- 前向星+spfa 最短路
- 行业门户网站架构
- 【Unity技巧】四元数(Quaternion)和旋转
- 基础代码
- 黑马程序员——IO流8:IO流综合练习
- 关于Android的Socket接收C/C++的char大于128时的问题
- Android多窗体退出
- 三维旋转:旋转矩阵,欧拉角,四元数
- 1022. Digital Library (30) -map -字符串处理
- Android Stdio 引入自定义framework.jar 自定义framework-res.apk 中 attr
- 安卓开发打开系统下载管理历史.
- <论语.八佾>之绘事后素
- C#(一) helloworld
- Android中Gallery和ImageSwitcher的使用