二进制转换十六进制_第1页
二进制转换十六进制_第2页
二进制转换十六进制_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二进制转换十六进制在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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论