Unity——Java服务器与C++服务器的区别,在对接的时候为什么会出现数据混乱的情况。
2018-03-27 15:59
417 查看
首先我们回顾一下Unity中有哪些数据类型char -- C++中是1bit, 在C#Java中是2bitzbool --1Bit整形 byte -- 1byte 8bit short-- 2byte 16bit int--4byte 32bit longLong类型比较特殊,在32位的机器上时占 4byte 64位机器上站8byte。很多通信用的都是long整形,那如何才能在网络通讯的时候,所有的机器,不管是32位还是64位的机器上网络通讯的字节都是一样的呢。解决:将long转为浮点数,先转成小数以浮点数传播再乘以比例,比如 0.0001*10000浮点型 float--4byte double--8byte
C++服务器与Java服务器的区别?在C++服务器和Java服务器进行对接的时候, 数据会发生很大的变化,主要原因是C++的数据存储顺序是小端排序,C#/Java的是大端排序1:Char 的表示范围不一样,C++中是1bit, 在C#Java中是2bit2:Byte的表示方式不同, 以Short为例子在C++中是以小端排序Little Endian的0000 0000 0000 0001在Java和C#中是以大端排序Big Endian的0000 0001 0000 0000如何对应这种问题——移位public static void ReverseBytes(byte[] bytes)
{
byte temp;
int length = bytes.Length;
for (int i = 0; i < length / 2; i++ )
{
temp= bytes[length - 1 - i];
bytes[length - 1 - i] = bytes[i];
bytes[i] = tmp;
}
}
//规定转换起始位置和长度
public static void ReverseBytes(byte[] bytes, int start, int len)
{
int end = start + length - 1;
byte temp;
int i = 0;
for (int index = start; index < start + length/2; index++,i++)
{
temp= bytes[end - i];
bytes[end - i] = bytes[index];
bytes[index] = temp;
}
}
C++服务器与Java服务器的区别?在C++服务器和Java服务器进行对接的时候, 数据会发生很大的变化,主要原因是C++的数据存储顺序是小端排序,C#/Java的是大端排序1:Char 的表示范围不一样,C++中是1bit, 在C#Java中是2bit2:Byte的表示方式不同, 以Short为例子在C++中是以小端排序Little Endian的0000 0000 0000 0001在Java和C#中是以大端排序Big Endian的0000 0001 0000 0000如何对应这种问题——移位public static void ReverseBytes(byte[] bytes)
{
byte temp;
int length = bytes.Length;
for (int i = 0; i < length / 2; i++ )
{
temp= bytes[length - 1 - i];
bytes[length - 1 - i] = bytes[i];
bytes[i] = tmp;
}
}
//规定转换起始位置和长度
public static void ReverseBytes(byte[] bytes, int start, int len)
{
int end = start + length - 1;
byte temp;
int i = 0;
for (int index = start; index < start + length/2; index++,i++)
{
temp= bytes[end - i];
bytes[end - i] = bytes[index];
bytes[index] = temp;
}
}
相关文章推荐
- C++和java中类成员定义时候的区别
- web服务器中shell启动java调ibtas取数据与online的区别
- 数据通信之数据转码字节映射加密发送:客户端c++和服务器java
- Cocos2dX通过Java服务器向Unity传输数据一
- 数据通信之数据转码字节映射加密发送:客户端c++和服务器java
- 为什么 C,C++ 与 Java,C# 的 一个隐晦的表面 区别
- c++和java区别之基本数据类型
- Cocos2dX通过Java服务器向Unity传输数据三
- java与C++的区别之基本数据类型
- 有关于在myeclipse中java向服务器发送请求返回数据有中文乱码的一种情况及解决
- Java和C++中基本数据类型的区别
- 读thinking in java的收获(一)——java中的引用,c++引用与c指针的区别与联系以及java的数据类型
- Java中引用数据类型与C++引用和指针的区别
- Java和C++的区别是什么呢,我们为什么要学习JAVA
- Cocos2dX通过Java服务器向Unity传输数据四
- C语言与C++与JAVA的区别
- C++与Java的语法区别
- java中的final与C++中的const的区别
- java和c++在面向对象上有什么区别?
- JAVA和C++区别