十六进制的字符串与二进制字符串相互转换
来源:互联网 发布:网络时间参数计算例题 编辑:程序博客网 时间:2024/05/16 06:08
如果是十六进制的数字和二进制的数字相互之间进行转换的话,只需要调用 Integer.tobinarystring() 或者 Integer.tohexString() 就可以进行转换,
但是如果是字符串的时候,该怎么转换呢?而且字符串如果很长的话,要怎么处理?
1、十六进制字符串转换成二进制字符串
规则:将十六进制字符串的每一个字符单独转换成一个四位的二进制字符串,然后拼接成一个完整的二进制字符串
代码如下:
/** * 将十六进制的字符串转换成二进制的字符串 * * @param hexString * @return */public static String hexStrToBinaryStr(String hexString) {if (hexString == null || hexString.equals("")) {return null;}StringBuffer sb = new StringBuffer();// 将每一个十六进制字符分别转换成一个四位的二进制字符for (int i = 0; i < hexString.length(); i++) {String indexStr = hexString.substring(i, i + 1);String binaryStr = Integer.toBinaryString(Integer.parseInt(indexStr, 16));while (binaryStr.length() < 4) {binaryStr = "0" + binaryStr;}sb.append(binaryStr);}return sb.toString();}
2、将二进制字符串转换成十六进制的字符串
规则:二进制字符串的长度一定要是4的倍数,保证每四位对应一位十六进制字符。然后将二进制字符串的每四位转换成一位十六进制字符串,最后拼接在一起。
代码如下:
/** * 二进制字符串转换为十六进制字符串 * <p> * 二进制字符串位数必须满足是4的倍数 * * @param binaryStr * @return */public static String binaryStrToHexStr(String binaryStr) {if (binaryStr == null || binaryStr.equals("") || binaryStr.length() % 4 != 0) {return null;}StringBuffer sbs = new StringBuffer();// 二进制字符串是4的倍数,所以四位二进制转换成一位十六进制for (int i = 0; i < binaryStr.length() / 4; i++) {String subStr = binaryStr.substring(i * 4, i * 4 + 4);String hexStr = Integer.toHexString(Integer.parseInt(subStr, 2));sbs.append(hexStr);}return sbs.toString();}
0 0
- 十六进制的字符串与二进制字符串相互转换
- JAVA 字符串与二进制,十六进制 相互转换
- 十六进制与字符串的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- 十六进制数据与字符串的相互转换
- 二进制值和十六进制字符串相互转换的C++代码
- 二进制值和十六进制字符串相互转换的C++代码
- 十六进制Unicode编码字符串与中文字符串的相互转换
- 字节数据与十六进制的相互转换,字符串与十六进制的相互转换
- (学习笔记) Java byte[]转二进制字符串,十六进制字符串的相互转换
- ABAP的字符串与十六进制的相互转换
- ABAP的字符串与十六进制的相互转换
- 内存内容与十六进制字符串相互转换
- java byte[]与十六进制字符串相互转换
- 字节数组与十六进制字符串之间的相互转换
- xib/纯代码/storyboard之争
- android简单实例-----------------使用SQLiteOpenHelper以及SQLiteDatabase
- ActionScript 3.0 学习(十五) 基于as的聊天程序,服务器端和客户端
- SpringMvc访问静态资源的几种方法
- 猜数字游戏
- 十六进制的字符串与二进制字符串相互转换
- 营业外收入预算
- DP+树状数组优化-sort it-neu2016第一次月赛
- pcie干货系列之-TLP’s size/TLP fail/4K boundary/requs
- 文件读写和输入输出重定向
- ReactiveCocoa简介6,添加附加操作(Adding side-effects)
- 初学者github会遇到的错误
- Android Animations动画使用详解
- spark_2:spark的基础