关于android&java在socket通讯单字节大于127的问题
2017-02-17 13:57
369 查看
android是基于java的,而java的单字节大小是-128~127,当我们需要传入一个大于127的数据时(十六进制),java采取补位算法。0-127,数据为128时,字节中存储的是-128,129时为-127,以此计算一直到-1,为255。
很多人担心或者纳闷,字节中存的是负数,服务端是不是得改?,其实不然。只要你传递的数据没有错误,对方接收到的,正常转化后还是你传递的数据,该是什么就是什么,并不会造成什么错误。所以当发现有负数的存在,而且请求不到数据或者别的情况的时候,可以考虑别的问题。
1、char转化成byte可以转一位也可以转两位。
2、传递和读取的位数要一致。
3、移动端传递到C++服务器似乎会存在吞掉11个字符的情况,可以在要传递的数据前加上11位多余数据。
很多人担心或者纳闷,字节中存的是负数,服务端是不是得改?,其实不然。只要你传递的数据没有错误,对方接收到的,正常转化后还是你传递的数据,该是什么就是什么,并不会造成什么错误。所以当发现有负数的存在,而且请求不到数据或者别的情况的时候,可以考虑别的问题。
1、char转化成byte可以转一位也可以转两位。
2、传递和读取的位数要一致。
3、移动端传递到C++服务器似乎会存在吞掉11个字符的情况,可以在要传递的数据前加上11位多余数据。
相关文章推荐
- 关于socket通讯阻塞以及java与单片机通讯问题详解
- 一个关于java.net.Socket的超时的问题
- 关于微软面试题:"四人过桥"问题的思考——“n人过桥”问题的演进(Java实现)
- android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
- Android程序"java.net.SocketException: Permission denied"异常
- Android关于java.lang.NoClassDefFoundError问题
- 一个典型的关于java(Overriding && Overloading)问题
- Android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
- android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
- Android开发:关于导入ApiDemos后没有R.java文件的问题
- 关于在android中String转Unicode也就是 String.getBytes("Unicode")中,额外2个字节的来源
- 关于java中JDK5的打包,拆包以及"=="和equals的问题
- 这是我第一篇文章,想问个关于java客户/服务器Socket的问题。
- android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
- iBaits中,关于insert返回值的问题(注意!!!不必写resultClass= "java.lang.Integer",方法的返回值就是int)
- 关于C++&Java中命令行编译的问题
- 关于微软面试题:"四人过桥"问题的思考——“n人过桥”问题的演进(Java实现)
- java 关于-2>>3之类的移位问题
- [Android] "Failed to find Java version for 'C:\Windows\system32\java.exe"问题的解决方法
- java socket读字节问题