Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数

简介: Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数

现在很多app和服务器交互,双方收到对方收据,怎么才能完整解析消息,是大家都会遇到的问题。现在来看以下他们的字节长度差异。

iOS

64位编译器,对应64位系统,包含机型(iphone5s—同时运行32位应用和64位应用,iphone6, iphone6 plus, iphone6s, iphone6s plus, iphone7, iphone7 plus)

char :1个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理其它编译器)

char*(即指针变量): 8个字节

short int : 2个字节

int: 4个字节

unsigned int : 4个字节

float: 4个字节

double: 8个字节

long: 8个字节

long long: 8个字节

unsigned long: 8个字节

32位编译器,对应32位系统,包含主要机型(iphone4,iphone4s, iphone5),iphone4以下机型苹果商店不需要适配,所以忽略。

char :1个字节

char*(即指针变量): 4个字节

short int : 2个字节

int: 4个字节

unsigned int : 4个字节

float: 4个字节

double: 8个字节

long: 4个字节

long long: 8个字节

unsigned long: 4个字节

java编译器。

Byte: 1字节

Short: 2字节

Int: 4 字节

Long: 8字节

Character: 2字节

Float: 4字节

Double: 8字节

c/c++ win32、win64、linux32、linux64中各数据类型占字节数

以前遇到消息id,app定义的为int类型,服务器(java)定义为long类型,结果导致消息解析不一致,修改long long类型才解决。

我遇到过订单id,app定义的为long类型,服务器(java)定义的为long类型,当应用运行在iphone5s(64位系统)手机上正常,当运行在iphone4s(32位系统)时,发现订单不识别,接不了单,后来app修改为long long类型才解决。

遇到过[_orderInfo[@”ID”] longValue] 崩溃后修改为 [_orderInfo[@”ID”] longLongValue]才正常,发现app只要是long,int,bool类型都可以用longLongValue来解析,反过来就不一定行。


国内绝大多少企业为了服务器开发快和具有web前端,都是基于java语言的开发,并且有web展示前端,服务器大多数部署在阿里云上。所以了解下各个编译器在各个操作系统平台上的字节定义很有必要。

基于Java服务器的优点:跨平台容易,基于web开发快,java开发人员多。

基于c++服务器的有限:运行速度比基于java语言开发的服务器快20%(从视频处理上显然的看出),便于底层协议开发,对web的兼容性很差(一般需要中间件嵌入基于java的web页面,c#,.net语言我不了解)。


目录
相关文章
|
6天前
|
Java API C++
Java JNI开发时常用数据类型与C++中数据类型转换
Java JNI开发时常用数据类型与C++中数据类型转换
13 0
|
23天前
|
Java
Java Object 类
5月更文挑战第16天
|
20小时前
|
Java C++
Java和C++的一些区别
Java和C++的一些区别
|
1天前
|
前端开发 JavaScript Java
Java基础10-深入理解Class类和Object类(二)
Java基础10-深入理解Class类和Object类(二)
14 5
|
1天前
|
Java C++
Java基础10-深入理解Class类和Object类(一)
Java基础10-深入理解Class类和Object类(一)
13 4
|
6天前
|
Java API Android开发
Java通过JNI调用C++的DLL库
Java通过JNI调用C++的DLL库
7 0
|
13天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的学生宿舍维修服务平台附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的学生宿舍维修服务平台附带文章和源代码设计说明文档ppt
17 0
|
16天前
|
JavaScript Java 测试技术
基于JAVA语言的在线考试与学习交流网页平台附带文章和源代码设计说明文档ppt
基于JAVA语言的在线考试与学习交流网页平台附带文章和源代码设计说明文档ppt
18 1
|
16天前
|
JavaScript Java 测试技术
基于springboot+vue.js的基于java的教学辅助平台附带文章和源代码设计说明文档ppt
基于springboot+vue.js的基于java的教学辅助平台附带文章和源代码设计说明文档ppt
30 10
|
16天前
|
JavaScript Java 关系型数据库
springboot+vue点餐平台网站(java源码+文档)
一款基于SpringBoot的点餐平台网站项目,源码及部署详情可直接联系作者。项目采用Java、SpringBoot、Mybatis、Vue等技术,支持JDK1.8和MySQL 5.7+。系统包含管理员和用户模块,如用户管理、菜品分类与信息管理、订单管理和评价管理等功能。同时,用户可进行菜品评价和订单查询。项目适用于JavaWeb、SSH、SSM等框架的学习与实践。