java实现16进制字符串转化为long值
2014-03-18 14:41
691 查看
转载请注明出处:/article/2606857.html
本篇博客主要介绍一下如何将16进制的字符串转化为long值,具体代码实现如下:
本算法的缺陷主要是处理16进制的字符串的最大长度为16位(不包括开头的0x)。
本篇博客主要介绍一下如何将16进制的字符串转化为long值,具体代码实现如下:
/** *@Description: */ package cn.lulei.util; public class Test { /** * @param md5L16 * @return * @Date:2014-3-18 * @Author:lulei * @Description: 将16位的md5转化为long值 */ public static long parseMd5L16ToLong(String md5L16){ if (md5L16 == null) { throw new NumberFormatException("null"); } md5L16 = md5L16.toLowerCase(); byte[] bA = md5L16.getBytes(); long re = 0L; for (int i = 0; i < bA.length; i++) { //加下一位的字符时,先将前面字符计算的结果左移4位 re <<= 4; //0-9数组 byte b = (byte) (bA[i] - 48); //A-F字母 if (b > 9) { b = (byte) (b - 39); } //非16进制的字符 if (b > 15 || b < 0) { throw new NumberFormatException("For input string '" + md5L16); } re += b; } return re; } /** * @param str16 * @return * @Date:2014-3-18 * @Author:lulei * @Description: 将16进制的字符串转化为long值 */ public static long parseString16ToLong(String str16){ if (str16 == null) { throw new NumberFormatException("null"); } //先转化为小写 str16 = str16.toLowerCase(); //如果字符串以0x开头,去掉0x str16 = str16.startsWith("0x") ? str16.substring(2) : str16; if (str16.length() > 16) { throw new NumberFormatException("For input string '" + str16 + "' is to long"); } return parseMd5L16ToLong(str16); } public static void main(String[] args) { System.out.println(parseString16ToLong("0x1fffff")); System.out.println(Long.valueOf("7fffffffffff", 16)); } }
本算法的缺陷主要是处理16进制的字符串的最大长度为16位(不包括开头的0x)。
相关文章推荐
- JAVA byte数组转化为16进制字符串输出
- Python实现将16进制字符串转化为ascii字符的方法分析
- java中字节数组抓转化为16进制字符串
- JAVA byte数组转化为16进制字符串输出
- java中实现数组转化为字符串
- java实现日期与字符串互相转化
- Java实现数字转化成字符串左边自动补零方法(流水号)
- JAVA byte数组转化为16进制字符串输出
- java byte型数组和16进制字符串互相转化方法
- 繁简体(GBBig5)字符串转化的JAVA方式实现
- 整理用Java实现数字转化成字符串左边自动补零方法
- 整理用Java实现数字转化成字符串左边自动补零方法
- 整理用Java实现数字转化成字符串左边自动补零方法
- 整理用Java实现数字转化成字符串左边自动补零方法
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
- 整理用Java实现数字转化成字符串左边自动补零方法
- Java将字符串转化为时间格式,与实现日期的计算
- java 二进制数据与16进制字符串相互转化方法
- 整理用Java实现数字转化成字符串左边自动补零方法
- Java将字节数组转化为16进制字符串的多种方案