/** * 获得当前的时间 * @return */ public static String getCurrenttime(){ Date date = null; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String fDate = sdf.format(new Date()); return fDate; } /** * 设定位数,不够的左侧自动补零 然后在中间截取,颠倒位置 * @param s * @param pos * @return */ public static String reversal(String s,int pos){ String result=""; int n=s.length(); for(int i=0;i<pos-n;i++){ s="0"+s; } int m=pos/2; result=s.substring(m, m*2)+s.substring(0, m); return result; } /** * 16进制的字符串表示转成字节数组 * * @param hexString * 16进制格式的字符串 * @return 转换后的字节数组 **/ public static byte[] toByteArray(String hexString) { if (hexString.isEmpty()) throw new IllegalArgumentException("this hexString must not be empty"); hexString = hexString.toLowerCase(); final byte[] byteArray = new byte[hexString.length() / 2]; int k = 0; for (int i = 0; i < byteArray.length; i++) {//因为是16进制,最多只会占用4位,转换成字节需要两个16进制的字符,高位在先 byte high = (byte) (Character.digit(hexString.charAt(k), 16) & 0xff); byte low = (byte) (Character.digit(hexString.charAt(k + 1), 16) & 0xff); byteArray[i] = (byte) (high << 4 | low); k += 2; } return byteArray; } /** *根据字节获取crc16校验码 * @param bufData * @param buflen * @return */ public static String get_crc16 (byte[] bufData, int buflen) { int ret = 0; int CRC = 0x0000ffff; int POLYNOMIAL = 0x0000a001; int i, j; for (i = 0; i < buflen; i++) { CRC ^= ((int)bufData[i] & 0x000000ff); for (j = 0; j < 8; j++) { if ((CRC & 0x00000001) != 0) { CRC >>= 1; CRC ^= POLYNOMIAL; } else { CRC >>= 1; } } //System.out.println(Integer.toHexString(CRC)); } return Integer.toHexString(CRC); } /** * 16进制字符串转化为2进制字符串 * @param hexString * @return */ public static String hexString2binaryString(String hexString) { if (hexString == null || hexString.length() % 2 != 0) return null; String bString = "", tmp; for (int i = 0; i < hexString.length(); i++) { tmp = "0000" + Integer.toBinaryString(Integer.parseInt(hexString .substring(i, i + 1), 16)); bString += tmp.substring(tmp.length() - 4); } return bString; } /** * 字节转化为16进制字符串 * @param b * @return */ public static String Bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } ret += hex.toUpperCase(); } return ret; }
项目中用到的一些常用进制转换,希望对大家有帮助~
相关推荐
### Java 进制转换知识点详解 #### 一、概述 在计算机科学中,不同进制之间的转换是一项基本技能。Java 提供了一系列内置方法来帮助开发者实现不同进制间的转换,如二进制(base-2)、八进制(base-8)、十进制...
### Java十进制转换二进制 在计算机科学领域,数据表示和转换是十分重要的基础知识之一。本篇文章将深入解析一个使用Java语言编写的程序,该程序能够将十进制正数和负数转换为二进制形式。通过分析代码逻辑、算法...
### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...
总结起来,进制是数字系统的核心,而二进制、八进制和十六进制在计算机科学中扮演着重要角色。Java程序员需要熟悉这些进制以及在Java中的操作方法,以便在开发过程中更有效地进行数据处理和算法设计。通过深入学习和...
在编程领域,尤其是在Java语言中,理解并...总结来说,Java提供了丰富的内置函数来支持各种进制间的转换,无论是整数还是浮点数,开发者都能方便地进行操作。理解并熟练掌握这些转换方法,对于提升编程能力至关重要。
### Java:二进制方式读取文件 #### 知识点概述 在Java中,处理文件的二进制读写是非常常见的操作。本篇文章将基于提供的代码示例,深入探讨如何使用`FileInputStream`和`FileOutputStream`进行二进制文件的读取和...
总结起来,Java提供了丰富的内建功能来支持不同进制之间的转换,无论是从整数到字符串,还是从字符串到整数,都只需要简单的几行代码即可实现。这些转换在处理数据表示、编码、解码或者显示给用户时都非常实用。通过...
总结来说,这个Java编写的进制转换程序是学习和实践数据结构和Java编程的一个好例子。通过实际操作,你可以深入理解进制转换的逻辑,以及如何利用Java的API来简化这一过程。同时,这也是对数据结构应用的一次实战...
正则表达式在java中的应用 与 java二、八、十、十六进制相互转化总结,与具体的示例,非常不错,欢迎下载使用。
总结,本教程介绍了如何使用Java进行UDP网络编程,特别是如何发送16进制格式的报文。通过结合Base64编码,可以实现将大型数据(如图片)分块发送。实践中,需要考虑数据完整性和网络环境的可靠性,以及服务端的数据...
通过这个程序,可以清楚地看到一个十进制数在Java中如何被转换为二进制、八进制和十六进制的字符串。 ### 总结 在Java中,有许多内置的方法和类来处理不同进制的转换问题。这包括将字符串按照给定基数转换为整数、...
总结,这个示例展示了如何在Java中处理Unicode和十六进制字符串的转换,强调了理解字符编码格式和处理过程的重要性。在实际开发中,正确处理字符编码可以避免乱码问题,确保数据的准确性和一致性。同时,开发者应该...
Java进制转换是编程中的基础概念,特别是在软件开发中,理解和掌握不同进制之间的转换至关重要。这个PDF文档可能是一个简单的Java程序示例,用于演示如何将一个任意进制的数转换为其他进制。让我们详细解析一下这个...
根据给定的信息,本文将详细解释如何在Java中开发一个简单的程序来实现十进制数向二进制、八进制以及十六进制的转换。 ### Java程序实现十进制转二进制、八进制、十六进制 #### 程序概述 此Java程序的主要功能是...
### 基于Java的16进制数与2进制数互相转化方法 #### 一、十六进制数转二进制数 在提供的代码片段中,展示了一个基于Java的程序来实现从十六进制到二进制的转换。 ##### 1.1 程序结构与功能 - **类定义**:`H_to_...
总结一下,Java中字符串转16进制ASCII涉及的关键点有: 1. `char`类型的字符与ASCII码的转换。 2. 使用`Integer.toHexString()`将ASCII码转换为16进制字符串。 3. 处理Unicode字符时,需要考虑字符集和编码方式。 ...
在Java编程语言中,将十进制数转换为二进制、八进制或十六进制是常见的数据处理任务,尤其是在计算机科学与信息技术领域。本文将深入探讨如何使用Java实现这些转换,包括算法原理和具体代码实现。 ### 十进制转二...
在Java编程语言中,二进制输入/输出(IO)类是处理非文本数据的关键工具,如图片、音频、视频等。这些类使得程序能够高效地读取和写入二进制数据,而不受字符编码的限制。本教程将深入探讨Java中的二进制IO类,并...
### Java的二进制操作 在Java编程语言中,对二进制文件的操作是非常常见的需求之一,尤其是在处理图像、音频等非文本数据时。Java的标准库`java.io`提供了丰富的API来支持这些操作,其中`OutputStream`及其子类是...