C#字节数组与int转换(含高低位转换的内容)
更新时间:2024-04-08 10:08:01 阅读量: 综合文库 文档下载
字节数组与int转换
在C#中将INT型转为字节数组后,其是以高位到低位排序存储的,而在C++和JAVA中是以低位到高位排序的,以致如果直接将转换后的字节数组与C++或JAVA通信时会出错。需要反排序后再传输。
字节转为Int代码 C#转换代码如下: C#
byte[] bytes = { 0, 0, 0, 25 };
// If the system architecture is little-endian (that is, little end first),
// reverse the byte array.
if (BitConverter.IsLittleEndian) //判断计算机结构的 endian 设置 Array.Reverse(bytes); //转换排序
int i = BitConverter.ToInt32(bytes, 0); Console.WriteLine(\, i); // Output: int: 25
BitConverter.IsLittleEndian 字段为指示数据在此计算机结构中存储时的字节顺序(“Endian”性质)。
如果结构为 Little-endian,则该值为 true;如果结构为 Big-endian,则该值为 false。
不同的计算机结构采用不同的字节顺序存储数据。“Big-endian”表示最大的有效字节位于单词的左端。“Little-endian”表示最大的有效字节位于单词的右端。
Int转为字节代码 C#转换代码如下:
byte[] aa = BitConverter.GetBytes(1243); if (BitConverter.IsLittleEndian) Array.Reverse(aa);
JAVA转换代码如下:
public byte[] int2bytes(int a, booleanisHighFirst) {
byte[] result = new byte[4]; if (isHighFirst) {
result[0] = (byte)(a >> 24 & 0xff); result[1] = (byte)(a >> 16 & 0xff); result[2] = (byte)(a >> 8 & 0xff); result[3] = (byte)(a & 0xff); } else {
result[3] = (byte)(a >> 24 & 0xff); result[2] = (byte)(a >> 16 & 0xff); result[1] = (byte)(a >> 8 & 0xff); result[0] = (byte)(a & 0xff); }
return result; }
正在阅读:
蟹爪兰开花了作文400字06-18
计算机软件著作权保护和盗版问题研究04-21
部门及员工绩效考评制度03-16
ABAQUS与FORTRAN 问题小结10-09
人教版九年级语文上册第五单元《智取生辰纲》教学设计01-12
2020年北京高考满分作文:沉默的父爱05-09
景德镇市装修装潢行业企业名录170家03-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 转换
- C#
- 低位
- 数组
- 字节
- 内容
- int