


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二进制转换十六进制在Java中字节与十六进制的相互转换主要思想有两点:1、 二进制字节转十六进制时,将字节高位与0xF0做〃&〃操作,然后再左移4位,得到字节高位的十六进制A;将字节低位与0x0F做〃&"操作,得到低位的十六进制B,将两个十六进制数拼装到一块AB就是该字节的十六进制表示。2、 十六进制转二进制字节时,将十六进制字符对应的十进制数字右移动4为,得到字节高位A;将字节低位的十六进制字符对应的十进制数字B与A做〃|〃运算,即可得到十六进制的二进制字节表示我测试的Java代码如下:Java代码publicclassTest01{privatestaticStringhexStr="0123456789ABCDEF";privatestaticString[]binaryArray={〃0000〃,〃0001〃,〃0010〃,〃0011〃,〃0100〃,〃0101〃,〃0110〃,〃0111〃,〃1000〃,〃1001〃,〃1010〃,〃1011〃,〃1100〃,〃1101〃,〃1110〃,〃1111〃};publicstaticvoidmain(String[]args){Stringstr="二进制与十六进制互转测试";System.out.println("源字符串:\n"+str);StringhexString=BinaryToHexString(str.getBytes());System.out.println("转换为十六进制:\n"+hexString);System.out.println("转换为二进制:\n"+bytes2BinaryStr(str.getBytes()));byte[]bArray=HexStringToBinary(hexString);System.out.println("将str的十六进制文件转换为二进制再转为 String:\n"+newString(bArray));}/***@paramstr©return转换为二进制字符串*/publicstaticStringbytes2BinaryStr(byte[]bArray){StringoutStr="";intpos=0;for(byteb:bArray){//高四位pos=(b&0xF0)>>4;outStr+=binaryArray[pos];//低四位pos=b&0x0F;outStr+=binaryArray[pos];}returnoutStr;}/***@parambytes©return将二进制转换为十六进制字符输出*/publicstaticStringBinaryToHexString(byte[]bytes){Stringresult="";Stringhex="";for(inti=0;i<bytes.length;i++){//字节高4位hex=String.valueOf(hexStr.charAt((bytes[i]&0xF0)>>4));//字节低4位hex+=String.valueOf(hexStr.charAt(bytes[i]&0x0F));result+=hex+"";}returnresult;}/***©paramhexString©return将十六进制转换为字节数组*/publicstaticbyte[]HexStringToBinary(StringhexString){//hexString的长度对2取整,作为bytes的长度intlen=hexString.length()/2;byte[]bytes=newbyte[len];bytehigh=0;//字节高四位bytelow=0;//字节低四位for(inti=0;i<len;i++){〃右移四位得到高位high=(byte)((hexStr.indexOf(hexString.charAt(2*i)))<<4);low=(byte)hexStr.indexOf(hexString.charAt(2*i+1));bytes[i]=(byte)(high|low);//高地位做或运算}returnbytes;}}运行后的输出结果如下:源字符串:二进制与十六进制互转测试转换为十六进制:E4BA8CE8BF9BE588B6E4B88EE58D81E585ADE8BF9BE588B6E4BA92E8BDACE6B58BE8AF95转换为二进制:1110010010111010100011001110100010111111100110111110010110001000101101101110010010111000100011101110010110001101100000011110010110000101101011011110100010111111100110111110010110001000101101101110010010111010100100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产xx吨再生固废骨料项目招商引资报告
- 徐州市中小学教学研究室高二物理楞次定律教案
- 东营中考语法试题及答案
- 冀教版一年级语文期末复习题及答案(二)
- 毕业论文答辩模板1283
- 2025年铁制平衡块项目市场调查研究报告
- 2025年钥匙起动模块项目市场调查研究报告
- 2025年钉绷帮机项目市场调查研究报告
- 商业智能与数字化办公的融合发展
- 2025年重型载货汽车中桥圆柱齿轮壳项目市场调查研究报告
- 2025-2030中国保鲜盒行业市场现状供需分析及投资评估规划分析研究报告
- 2025年江苏省无锡市宜兴市中考二模英语试题(含答案)
- 工程劳务合作协议书
- 有责任有担当的核心素养培养
- 专利代理师考试题库有答案分析2024年
- 电表过户借用协议书
- 与信仰对话 课件-2024年入团积极分子培训
- DZ∕T 0227-2010 地质岩心钻探规程(正式版)
- 2024年贵州省粮食储备集团有限公司招聘笔试参考题库附带答案详解
- 3D打印解析(课堂PPT)
- 全国医疗服务价格项目规范(2012年版)
评论
0/150
提交评论