JAVA读取大于ASCII码大于128的字符问题

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 03:32   60   0

近来在做一个基于电脑和手机交互的基于图像的三维绘制东西,一直习惯于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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP