JAVA二进制字节数组字符十六进制BCD编码转换

合集下载

二进制,十进制,十六进制,ASCII,BCD码的转换,单片机

二进制,十进制,十六进制,ASCII,BCD码的转换,单片机

1.在片内RAM 30H单元有-个8位二进制数,将其转换成压缩BCD码,存于片内RAM 41H(高位)40H(低位)中。

方法:2^8=256,所以8位二进制A<=256,A/100商是百位数,存放到41h单元,余数再除以10,再得商是10位数,高低位互换,) ORG 0100HSTART:MOV A,30H ;取来8位二进制数MOV B,#100DIV AB ;除以100MOV 41H,A ;商是百位数,存放到41h单元MOV A,B ;取回余数MOV B,#10DIV AB ;再除以10SWAP A ;商是10位数,高低位互换ORL A,BMOV 40H,A ;将十位数与个位位数存入40hSJMP $END2.一个字节(8位)BCD码转换为二进制数(方法:先将高半字节乘以10,再加上低半字节)设待转换的BCD码存放于R2中DTOB:MOV A,R2ANL A,#0F0HSWAP AMOV B,#0AHMUL ABMOV R3,AMOV A,R2ANL A,#0FHADD A,R3RET3.二进制数转换为ASCII码设(30H)=4BH,将高4位的ASCII码放在31H单元,低4位的ASCII码放在32H单元,程序具有通用性,向入口参数30H存入任何数,都能将其变成相应的ISCII 码.ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP,#60HMOV 30H,#4BHMOV R2,30HMOV A,R2ANL A,#0FHCJNE A,#0AH,NEQNEQ: JC LOOPADD A,#37HJMP LOOP3LOOP:ADD A,#30HLOOP3:MOV 31H,AMOV A,R2SWAP AANL A,#0FHCJNE A,#0AH,NE1NE1: JC LOOP1ADD A,#37HJMP LOOP4LOOP1:ADD A,#30HLOOP4:MOV 32H,AA1: SJMP A1END4.已知R0的低半个字节为一个四位的二进制数,要求将其转换为ASCAII码后送回R0中。

java 字符转十六进制的方法

java 字符转十六进制的方法

java 字符转十六进制的方法Java 字符转十六进制的方法一、背景介绍在 Java 编程中,经常会遇到需要将字符转换为十六进制的情况。

本文将介绍几种常用的方法来完成这个转换过程。

二、方法一:使用方法可以使用 String 类的 format 方法将字符转换为十六进制。

具体步骤如下:1.将字符转换为字节数组,使用()方法;2.使用 String 类的 format 方法,将字节数组转换为十六进制字符串,("%02X", byteValue);3.得到最终的十六进制字符串。

三、方法二:使用方法另一种常用的方法是使用 Integer 类的 toHexString 方法。

具体步骤如下:1.将字符转换为 int 类型,使用int charValue = (int)character;2.使用 Integer 类的 toHexString 方法,将 int 类型的字符转换为十六进制字符串,(charValue);3.得到最终的十六进制字符串。

四、方法三:使用 StringBuilder我们也可以使用 StringBuilder 类来完成字符转换为十六进制的操作。

具体步骤如下:1.创建一个 StringBuilder 对象,用于存储转换后的十六进制字符串;2.遍历字符数组,将每个字符转换为十六进制,使用((int)character);3.将转换后的十六进制字符串追加到 StringBuilder 对象中;4.得到最终的十六进制字符串,使用()。

五、方法四:使用 Bitwise 运算符Bitwise 运算符也可以用来将字符转换为十六进制。

具体步骤如下:1.将字符转换为 int 类型,使用int charValue = (int)character;2.取字符的高4位和低4位,分别使用charValue >> 4和charValue & 0x0F;3.将高4位和低4位转换为十六进制字符串,使用(high4bits)和(low4bits);4.得到最终的十六进制字符串,将高4位和低4位的十六进制字符串拼接起来。

JAVA进制转换全攻略

JAVA进制转换全攻略

JA V A 进制转换全攻略十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制Integer.toOctalString(int i)十进制转成二进制Integer.toBinaryString(int i)十六进制转成十进制Integer.valueOf("FFFF",16).toString()八进制转成十进制Integer.valueOf("876",8).toString()二进制转十进制Integer.valueOf("0101",2).toString()有什么方法可以直接将2,8,16进制直接转换为10进制的吗? ng.Integer类parseInt(String s, int radix)使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

examples from jdk:parseInt("0", 10) returns 0parseInt("473", 10) returns 473parseInt("-0", 10) returns 0parseInt("-FF", 16) returns -255parseInt("1100110", 2) returns 102parseInt("2147483647", 10) returns 2147483647parseInt("-2147483648", 10) returns -2147483648parseInt("2147483648", 10) throws a NumberFormatException parseInt("99",throws a NumberFormatExceptionparseInt("Kona", 10) throws a NumberFormatException parseInt("Kona", 27) returns 411787进制转换如何写(二,八,十六)不用算法Integer.toBinaryStringInteger.toOctalStringInteger.toHexString例二public class Test{public static void main(String args[]){int i=100;String binStr=Integer.toBinaryString(i);String otcStr=Integer.toOctalString(i);String hexStr=Integer.toHexString(i);System.out.println(binStr);}例二public class TestStringFormat {public static void main(String[] args) {if (args.length == 0) {System.out.println("usage: java TestStringFormat <a number>"); System.exit(0);}Integer factor = Integer.valueOf(args[0]);String s;s = String.format("%d", factor);System.out.println(s);s = String.format("%x", factor);System.out.println(s);s = String.format("%o", factor);System.out.println(s);}}其他方法:Integer.toHexString(你的10进制数);例如String temp = Integer.toHexString(75);输出temp就为4b//输入一个10进制数字并把它转换成16进制import java.io.*;public class toHex{public static void main(String[]args){int input;//存放输入数据//创建输入字符串的实例BufferedReader strin=new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入一个的整数:");String x=null;try{x=strin.readLine();}catch(IOException ex){ex.printStackTrace();}input=Integer.parseInt(x);System.out.println ("你输入的数字是:"+input);//输出从键盘接收到的数字System.out.println ("它的16进制是:"+Integer.toHexString(input));//用toHexString把10进制转换成16进制}}本文来自CSDN博客,转载请标明出处:/alex197963/archive/2009/05/27/4219534.aspxpublic class TigerNumberDemo {public static void main(String[] args) {// 输出19 的十进制表示System.out.printf("%d%n", 19);// 输出19 的八进制表示System.out.printf("%o%n", 19);// 输出19 的十六进制表示System.out.printf("%x%n", 19);}}public class TigerNumberDemo {public static void main(String[] args) {// 输出19 的十进制表示System.out.printf("%d%n", 19);// 输出19 的八进制表示System.out.printf("%o%n", 19);// 输出19 的十六进制表示System.out.printf("%x%n", 19);}}利用Integer类方法:view plaincopy to clipboardprint?public class NumberDemo {public static void main(String[] args) {// 十进制19 转成二进制10011System.out.println(Integer.toBinaryString(19));// 十进制19 转成十六进制13System.out.println(Integer.toHexString(19));// 十进制19 转成八进制23System.out.println(Integer.toOctalString(19));}}本文来自CSDN博客,转载请标明出处:/haoyuewuwei/archive/2009/08/19/4458968.aspx二进制,八进制,十六进制间的转换收藏十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制Integer.toOctalString(int i)十进制转成二进制Integer.toBinaryString(int i)十六进制转成十进制Integer.valueOf("FFFF",16).toString()八进制转成十进制Integer.valueOf("876",8).toString()二进制转十进制Integer.valueOf("0101",2).toString()有什么方法可以直接将2,8,16进制直接转换为10进制的吗?ng.Integer类parseInt(String s, int radix)使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

java 转十六进制方法

java 转十六进制方法

java 转十六进制方法摘要:1.引言2.Java中转换十六进制的常用方法3.具体实现方法及示例4.总结正文:【引言】在Java编程中,有时候我们需要将某些数据转换为十六进制字符串,例如在加密和解密过程中。

这里,我们将介绍两种在Java中转换十六进制的常用方法。

【Java中转换十六进制的常用方法】在Java中,有两种常用的转换十六进制的方法:1.使用`Integer.toHexString()`方法:该方法可以直接将整数转换为十六进制字符串。

例如,将整数10转换为十六进制字符串,代码如下:```javaString hexString = Integer.toHexString(10); // 输出"A"```2.使用`String.format()`方法:该方法可以格式化字符串,将其转换为十六进制表示。

例如,将字符串"12345"转换为十六进制字符串,代码如下:```javaString hexString = String.format("%04X", 12345); // 输出"001A"```【具体实现方法及示例】下面我们通过一个简单的示例来说明如何使用这两种方法将整数转换为十六进制字符串:```javapublic class HexConversion {public static void main(String[] args) {int num = 12345;// 使用Integer.toHexString() 方法String hexString1 = Integer.toHexString(num);System.out.println("Integer.toHexString() 方法:" + hexString1);// 使用String.format() 方法String hexString2 = String.format("%04X", num);System.out.println("String.format() 方法:" + hexString2);}}```【总结】在Java中,我们可以使用`Integer.toHexString()`方法和`String.format()`方法将整数转换为十六进制字符串。

[转]Java中byte与16进制字符串的互相转换

[转]Java中byte与16进制字符串的互相转换

[转]Java中byte与16进制字符串的互相转换本⽂转⾃:Java中byte⽤⼆进制表⽰占⽤8位,⽽我们知道16进制的每个字符需要⽤4位⼆进制位来表⽰(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的⾼4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L)。

即byte⽤⼗六进制表⽰只占2位。

同理,相反的转换也是将两个16进制字符转换成⼀个byte,原理同上。

根据以上原理,我们就可以将byte[] 数组转换为16进制字符串了,当然也可以将16进制字符串转换为byte[]数组了。

/**Java代码1. * Convert byte[] to hex string.这⾥我们可以将byte转换成int,然后利⽤Integer.toHexString(int)来转换成16进制字符串。

2. * @param src byte[] data3. * @return hex string4. */5. public static String bytesToHexString(byte[] src){6. StringBuilder stringBuilder = new StringBuilder("");7. if (src == null || src.length <= 0) {8. return null;9. }10. for (int i = 0; i < src.length; i++) {11. int v = src[i] & 0xFF;12. String hv = Integer.toHexString(v);13. if (hv.length() < 2) {14. stringBuilder.append(0);15. }16. stringBuilder.append(hv);17. }18. return stringBuilder.toString();19. }20. /**21. * Convert hex string to byte[]22. * @param hexString the hex string23. * @return byte[]24. */25. public static byte[] hexStringToBytes(String hexString) {26. if (hexString == null || hexString.equals("")) {27. return null;28. }29. hexString = hexString.toUpperCase();30. int length = hexString.length() / 2;31. char[] hexChars = hexString.toCharArray();32. byte[] d = new byte[length];33. for (int i = 0; i < length; i++) {34. int pos = i * 2;35. d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));36. }37. return d;38. }39. /**40. * Convert char to byte41. * @param c char42. * @return byte43. */44. private byte charToByte(char c) {45. return (byte) "0123456789ABCDEF".indexOf(c);46. }Java代码1. //将指定byte数组以16进制的形式打印到控制台2. public static void printHexString( byte[] b) {3. for (int i = 0; i < b.length; i++) {4. String hex = Integer.toHexString(b[i] & 0xFF);5. if (hex.length() == 1) {6. hex = '0' + hex;7. }8. System.out.print(hex.toUpperCase() );9. }10.11. }java中byte转换int时为何与0xff进⾏与运算在剖析该问题前请看如下代码Java代码1. public static String bytes2HexString(byte[] b) {2. String ret = "";3. for (int i = 0; i < b.length; i++) {4. String hex = Integer.toHexString(b[ i ] & 0xFF);5. if (hex.length() == 1) {6. hex = '0' + hex;7. }8. ret += hex.toUpperCase();9. }10. return ret;11. }上⾯是将byte[]转化⼗六进制的字符串,注意这⾥b[ i ] & 0xFF将⼀个byte和 0xFF进⾏了与运算,然后使⽤Integer.toHexString取得了⼗六进制字符串,可以看出b[ i ] & 0xFF运算后得出的仍然是个int,那么为何要和 0xFF进⾏与运算呢?直接 Integer.toHexString(b[ i ]);,将byte强转为int不⾏吗?答案是不⾏的.其原因在于:1.byte的⼤⼩为8bits⽽int的⼤⼩为32bits2.java的⼆进制采⽤的是补码形式在这⾥先温习下计算机基础理论byte是⼀个字节保存的,有8个位,即8个0、1。

java二进制方法

java二进制方法

java二进制方法二进制方法指的是使用二进制数表示和操作数据的方法。

在计算机科学中,二进制是一种使用两个不同的数字0和1来表示数值的方式。

在Java中,可以使用不同的方法来处理和操作二进制数据。

一、二进制转换1. 十进制转二进制:使用Java中的Integer类的toBinaryString(方法可以将十进制数转换为二进制字符串。

```javaint decimal = 10;String binary = Integer.toBinaryString(decimal);System.out.println(binary); // 输出 1010```2. 二进制转十进制:使用Java中的Integer类的parseInt(方法可以将二进制字符串转换为十进制数。

```javaString binary = "1010";int decimal = Integer.parseInt(binary, 2);System.out.println(decimal); // 输出 10```3. 十六进制转二进制:使用Java中的Integer类的toBinaryString(方法可以将十六进制数转换为二进制字符串。

```javaString hex = "A";String binary = Integer.toBinaryString(Integer.parseInt(hex, 16));System.out.println(binary); // 输出 1010```4. 二进制转十六进制:使用Java中的Integer类的toHexString(方法可以将二进制字符串转换为十六进制数。

```javaString binary = "1010";String hex = Integer.toHexString(Integer.parseInt(binary, 2));System.out.println(hex); // 输出 A```二、二进制运算1. 二进制与运算:使用Java中的位运算符&可以对两个二进制数进行与运算。

Java3种方法实现进制转换

Java3种方法实现进制转换

Java3种⽅法实现进制转换由其他进制转换为⼗进制⽐较简单,下⾯着重谈⼀谈⼗进制如何化为其他进制。

1.使⽤Java带有的⽅法Integer,最简单粗暴了,代码如下//使⽤java提供的⽅法//但仅局限于⽐较常⽤的⼆进制、⼋进制、⼗六进制public static String trans1(int num, int radix){if(radix == 2)return Integer.toBinaryString(num);else if(radix == 8)return Integer.toOctalString(num);else if(radix == 16)return Integer.toHexString(num);return null;}2.使⽤数组进⾏交换,贴码://使⽤数组的形式进⾏转换public static void trans2(int num, int radix){System.out.println(num+"转成"+radix+"进制数为:");//创建数组,32位char[] arr = new char[32];//创建参考字符数组char[] ch = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//指针,从数组最后开始int pos = 32;//开始循环计算num和radix的商和余数while(num > 0){arr[--pos] = ch[num % radix];num /= radix;/** 这⾥是针对⼆进制、⼋进制和⼗六进制进⾏的移位运算arr[--pos] = ch[num&(radix-1)];if(radix == 2)num >>= 1;else if(radix == 8)num >>= 3;else if(radix == 16)num >>= 4;*/}//输出有效的进制数for(int i = pos; i < 32; i++)System.out.print(arr[i]);System.out.println();}3.使⽤StringBuilder类型,贴码://使⽤StringBuilder进⾏转换public static String trans3(int num, int radix){//使⽤StringBuilder的reverse⽅法StringBuilder sb = new StringBuilder();while(num > 0){//把除以基数的余数存到缓冲区中sb.append(num % radix);num /= radix;}return sb.reverse().toString();}以上就是Java 3种⽅法实现进制转换的详细内容,更多关于Java 进制转换的资料请关注其它相关⽂章!。

java十六进制转二进制方法

java十六进制转二进制方法

java十六进制转二进制方法Java是一种常用的编程语言,广泛应用于软件开发和计算机科学领域。

在Java中,可以使用十六进制转二进制的方法将一个十六进制数转换为对应的二进制数。

本文将介绍如何使用Java实现这一转换过程。

我们需要了解十六进制和二进制的表示方法。

在十六进制中,除了0-9的数字外,还包括A-F的字母,分别表示10-15的数。

而在二进制中,只有0和1两个数字。

因此,我们需要将十六进制数中的每一位转换为对应的四位二进制数。

在Java中,可以使用Integer类的toBinaryString()方法将一个十六进制数转换为对应的二进制数。

该方法的用法如下:```javaString binaryString = Integer.toBinaryString(hexNumber);```其中,hexNumber是要转换的十六进制数。

该方法将返回一个字符串,表示对应的二进制数。

下面是一个完整的Java程序示例,将十六进制数转换为二进制数:```javapublic class HexToBinary {public static void main(String[] args) {String hexNumber = "1A"; // 十六进制数String binaryString = hexToBinary(hexNumber);System.out.println("二进制数为:" + binaryString);}public static String hexToBinary(String hexNumber) {int decimal = Integer.parseInt(hexNumber, 16); // 将十六进制数转换为十进制数String binaryString = Integer.toBinaryString(decimal); // 将十进制数转换为二进制数return binaryString;}}```在上面的示例中,我们定义了一个hexToBinary()方法,用于将十六进制数转换为二进制数。

Java字符串、数值与16进制相互转化

Java字符串、数值与16进制相互转化

Java字符串、数值与16进制相互转化字符串、数值与16进制相互转化⾸先创建⼀个⼯具类:package c;public class DataUtils {/** 字节数组转16进制字符串*/public static String bytesToHexString(byte[] bArr) {if (bArr == null) {return null;}StringBuffer sb = new StringBuffer(bArr.length);String sTmp;for (int i = 0; i < bArr.length; i++) {sTmp = Integer.toHexString(0xFF & bArr[i]);if (sTmp.length() < 2)sb.append(0);sb.append(sTmp);}return sb.toString();}/*** @param n* @Title: intTohex* @Description: int型转换成16进制* @return: String*/public static String intTohex(int n) {StringBuffer s = new StringBuffer();String a;char[] b = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};while (n != 0) {s = s.append(b[n % 16]);n = n / 16;}a = s.reverse().toString();if ("".equals(a)) {a = "00";}if (a.length() == 1) {a = "0" + a;}return a;}/*** 字符串转16进制字符串** @param strPart* @return*/public static String string2HexString(String strPart) {StringBuffer hexString = new StringBuffer();for (int i = 0; i < strPart.length(); i++) {int ch = (int) strPart.charAt(i);String strHex = Integer.toHexString(ch);hexString.append(strHex);}return hexString.toString();}/*** ⼗六进制转字节数组** @param src* @return*/public static byte[] hexString2Bytes(String src) {int l = src.length() / 2;byte[] ret = new byte[l];for (int i = 0; i < l; i++) {ret[i] = (byte) Integer.valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();}return ret;}/*** Hex字符串转byte** @param inHex 待转换的Hex字符串* @return 转换后的byte*/public static byte hexToByte(String inHex) {return (byte) Integer.parseInt(inHex, 16);}/*** hex字符串转byte数组** @param inHex 待转换的Hex字符串* @return 转换后的byte数组结果*/public static byte[] hexToByteArray(String inHex) {int hexlen = inHex.length();byte[] result;if (hexlen % 2 == 1) {//奇数hexlen++;result = new byte[(hexlen / 2)];inHex = "0" + inHex;} else {//偶数result = new byte[(hexlen / 2)];}int j = 0;for (int i = 0; i < hexlen; i += 2) {result[j] = hexToByte(inHex.substring(i, i + 2));j++;}return result;}Java 代码:byte[] b = {0x12, 0x23, 0x5a};// 字节转换为16进制字符串String hexStr = bytesToHexString(b);System.out.println("hexStr:" + hexStr);// int 转 16进制字符串String hexStr1 = Integer.toHexString(2345);System.out.println("hexStr1:" + hexStr1);// 16进制转字节数组byte[] c = hexString2Bytes(Integer.toHexString(2345));System.out.println("⼗六进制字节数组:" + c);// int 转16进制字符串System.out.println(intTohex(2345));// int转16进制后转16进制字节数组System.out.println("⼗六进制字节数组:" + DataUtils.hexToByteArray(Integer.toHexString(2345)));打印结果:hexStr:12235ahexStr1:929⼗六进制字节数组:[B@63c12fb0929⼗六进制字节数组:[B@b1a58a3。

Java中byte与16进制字符串的互换原理

Java中byte与16进制字符串的互换原理

Java中byte与16进制字符串的互换原理我们都知道Java中的byte是由8个bit组成的,⽽16进制即16中状态,它是由4个bit来表⽰的,因为24=16。

所以我们可以把⼀个byte转换成两个⽤16进制字符,即把⾼4位和低4位转换成相应的16进制字符,并组合这两个16进制字符串,从⽽得到byte的16进制字符串。

同理,相反的转换也是将两个16进制字符转换成⼀个byte。

转换的函数如下:/*** Convert byte[] to hex string* @param src* @return*/public static String bytesToHexString(byte[] src){StringBuilder stringBuilder = new StringBuilder("");if(src==null||src.length<=0){return null;}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/*** Convert hex string to byte[]* @param hexString* @return*/public static byte[] hexStringToBytes(String hexString) {if (hexString == null || hexString.equals("")) {return null;}hexString = hexString.toUpperCase();int length = hexString.length() / 2;char[] hexChars = hexString.toCharArray();byte[] d = new byte[length];for (int i = 0; i < length; i++) {int pos = i * 2;d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));}return d;}/*** Convert char to byte* @param c* @return*/private static byte charToByte(char c) {return (byte) "0123456789ABCDEF".indexOf(c);}bytesToHexString⽅法中src[i] & 0xFF将⼀个byte和0xFF进⾏了与运算,然后使⽤Integer.toHexString取得了⼗六进制字符串,可以看出src[i] & 0xFF运算后得出的仍然是个int,那么为何要和0xFF进⾏与运算呢?直接 Integer.toHexString(src[i]);,将byte强转为int不⾏吗?答案是不⾏的.其原因在于:1. byte的⼤⼩为8bits⽽int的⼤⼩为32bits;2. java的⼆进制采⽤的是补码形式;如果还不明⽩,我们还是温习下计算机基础理论和Java的位运算知识吧。

java进制转换函数

java进制转换函数

java进制转换函数Java言中常用的几个进制转换函数,是Java程序设计开发者在实现应用程序功能时必不可少的一种工具。

这些函数可以帮助开发者将数据从一种进制转换到另一种进制,并根据要求操作转换的结果。

本文将介绍如何使用Java的进制转换函数,以便开发者可以使用它们实现应用程序需求。

一、Java中进制转换函数简介从字面上看,“进制转换”指的是将一种进制中的数字转换为另一种进制中的数字,进制常见的有十进制、八进制、十六进制等。

在Java语言中常用的进制转换函数主要有Integer.toString(),Integer.toBinaryString(),Integer.toHexString()和Integer.toOctalString()函数。

Integer.toString()函数是将一个int型变量转换为字符串,其参数i一个int型变量,其结果返回一个字符串,该字符串表示参数i的十进制形式。

Integer.toBinaryString()函数是将一个int型变量转换为字符串,其参数i一个int型变量,其结果返回一个字符串,该字符串表示参数i的二进制形式。

Integer.toHexString()函数是将一个int型变量转换为字符串,其参数i一个int型变量,其结果返回一个字符串,该字符串表示参数i的十六进制形式。

Integer.toOctalString()函数是将一个int型变量转换为字符串,其参数i一个int型变量,其结果返回一个字符串,该字符串表示参数i的八进制形式。

二、使用Java进制转换函数实现1.定义一个int类型变量,即要转换的数int i = 100;2.使用Integer.toString()函数将int变量转换为字符串String s = Integer.toString(i);3.使用Integer.toBinaryString()函数将int变量转换为2进制字符串String binaryString = Integer.toBinaryString(i);4.使用Integer.toHexString()函数将int变量转换为16进制字符串String hexString = Integer.toHexString(i);5.使用Integer.toOctalString()函数将int变量转换为8进制字符串String octalString = Integer.toOctalString(i);三、总结从以上内容可以看出,Java的进制转换函数可以帮助开发者快速实现从一种进制转换到另一种进制的操作,其使用方法也很简单,只需要定义一个int型变量,并调用相应的函数,就可以完成进制转换的操作,大大的提升了开发者的工作效率。

byte[]转十六进制编码

byte[]转十六进制编码

byte[]转十六进制编码摘要:1.概述2.转换方法3.编码规则4.示例5.总结正文:1.概述在计算机科学中,将字节数组(byte[])转换为十六进制编码(hexadecimal encoding)是一种常见的数据处理方式。

十六进制编码是一种将二进制数据转换为文本表示的方法,它使用0-9 和A-F 的字符来表示二进制数据,因此,每个字节可以用两个十六进制字符来表示。

这种编码方式在数据传输、存储和调试过程中具有广泛的应用。

2.转换方法将字节数组转换为十六进制编码有多种方法,其中最常用的方法是使用Java 编程语言中的`String.format()`方法和`Integer.toHexString()`方法。

下面是一个简单的示例:```javapublic class Main {public static void main(String[] args) {byte[] byteArray = {72, 101, 108, 108, 111}; // HelloString hexString = byteArrayToHexString(byteArray);System.out.println("Hexadecimal string: " + hexString);}public static String byteArrayToHexString(byte[] byteArray) { StringBuilder sb = new StringBuilder();for (byte b : byteArray) {sb.append(String.format("%02x", b));}return sb.toString();}}```3.编码规则在将字节数组转换为十六进制编码时,需要遵循以下规则:- 每个字节用两个十六进制字符表示,因此,对于一个包含n 个字节的字节数组,其十六进制编码长度为2n。

java中进行二进制,八进制,十六进制,十进制间进行相互转换

java中进行二进制,八进制,十六进制,十进制间进行相互转换
System.out.println(c.getActualMinimum(c.DAY_OF_MONTH));
2.十六进制的转换
String st = "this is roger";
// hex
for(int i = 0; i<st.length(); i++){
System.out.println( "hexString = " + hexString );
String str = Integer.toString(Integer.parseInt(hexString, 16));
System.out.println( "str = " + str );
}
/*
* 16进制数字字符集
*/
private static String hexString="0123456789ABCDEF";
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str)
{
ng.Integer类
parseInt(String s, int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
examples from jdk:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("Kona", 27) returns 411787

java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!

java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!

进制CPU使用,8进制很少见,10进制适合人类使用,16进制适合编译器和底层程序员使用,希望对你有所帮助!以下文章是自己从别的地方复制粘贴过来,总结了一下。

虽然看着有点乱,但是想学,就能看懂。

若是有什么问题,可直接在下方给我留言!!!public class Sun1 {public static void main(String[] args) {System.out.println(Integer.toHexString(20)); //十进制转成十六进制 System.out.println(Integer.toBinaryString(20));//十进制转成二进制 System.out.println(Integer.toOctalString(20));//十进制转成八进制 System.out.println(Integer.valueOf("FFFF",16).toString());//十六进制转成十进制System.out.println(Integer.valueOf("5",8).toString());//八进制转成十进制System.out.println(Integer.valueOf("0101", 2).toString());//二进制转十进制}}由于Unicode兼容ASCII(0~255),因此,上面得到的Unicode就是ASCII。

至于转换成二进制或其他进制,Java API提供了方便函数,你可以查Java的API 手册。

以字符a的ASCII为例:int i = 'a';String iBin = Integer.toBinaryString(i);//二进制String iHex = Integer.toHexString(i);//十六进制String iOct = Integer.toOctalString(i);//八进制String iWoKao = Integer.toString(i,3);//三进制或任何你想要的35进制以下的进制DEC[集]java中进行二进制,八进制,十六进制,十进制间进行相互转换十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制Integer.toOctalString(int i)十进制转成二进制Integer.toBinaryString(int i)十六进制转成十进制Integer.valueOf("FFFF",16).toString()八进制转成十进制Integer.valueOf("876",8).toString()二进制转十进制Integer.valueOf("0101",2).toString()有什么方法可以直接将2,8,16进制直接转换为10进制的吗?ng.Integer类parseInt(String s, int radix)使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

浅谈java二进制、十进制、十六进制、字符串之间的相互转换

浅谈java二进制、十进制、十六进制、字符串之间的相互转换

浅谈java⼆进制、⼗进制、⼗六进制、字符串之间的相互转换1. 字节转10进制直接使⽤(int)类型转换。

/** 字节转10进制*/public static int byte2Int(byte b){int r = (int) b;return r;}2. 10进制转字节直接使⽤(byte)类型转换。

/** 10进制转字节*/public static byte int2Byte(int i){byte r = (byte) i;return r;}3. 字节数组转16进制字符串对每⼀个字节,先和0xFF做与运算,然后使⽤Integer.toHexString()函数,如果结果只有1位,需要在前⾯加0。

/** 字节数组转16进制字符串*/public static String bytes2HexString(byte[] b) {String r = "";for (int i = 0; i < b.length; i++) {String hex = Integer.toHexString(b[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}r += hex.toUpperCase();}return r;}4. 16进制字符串转字节数组这个⽐较复杂,每⼀个16进制字符是4bit,⼀个字节是8bit,所以两个16进制字符转换成1个字节,对于第1个字符,转换成byte以后左移4位,然后和第2个字符的byte做或运算,这样就把两个字符转换为1个字节。

/** 字符转换为字节*/private static byte charToByte(char c) {return (byte) "0123456789ABCDEF".indexOf(c);}/** 16进制字符串转字节数组*/public static byte[] hexString2Bytes(String hex) {if ((hex == null) || (hex.equals(""))){return null;}else if (hex.length()%2 != 0){return null;}else{hex = hex.toUpperCase();int len = hex.length()/2;byte[] b = new byte[len];char[] hc = hex.toCharArray();for (int i=0; i<len; i++){int p=2*i;b[i] = (byte) (charToByte(hc[p]) << 4 | charToByte(hc[p+1]));}return b;}}5. 字节数组转字符串直接使⽤new String()。

JAVA二进制字节数组字符十六进制BCD编码转换

JAVA二进制字节数组字符十六进制BCD编码转换

JAVA二进制字节数组字符十六进制BCD编码转换;import java.io.*;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class DataConverter {/* 把16进制字符串转换成字节数组* @param hex* @return*/public static byte[] hexStringToByte(String hex) {int len = (hex.length() / 2);byte[] result = new byte[len];char[] achar = hex.toCharArray();for (int i = 0; i < len; i++) {int pos = i * 2;result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));}return result;}private static byte toByte(char c) {byte b = (byte) "0123456789ABCDEF".indexOf(c);return b;}/** *//*** 把字节数组转换成16进制字符串* @param bArray* @return*/public static final String bytesToHexString(byte[] bArray) {StringBuffer sb = new StringBuffer(bArray.length);String sTemp;for (int i = 0; i < bArray.length; i++) {sTemp = Integer.toHexString(0xFF & bArray[i]);if (sTemp.length() < 2)sb.append(0);sb.append(sTemp.toUpperCase());}return sb.toString();}/** *//*** 把字节数组转换为对象* @param bytes* @return* @throws IOException* @throws ClassNotFoundException*/public static final Object bytesToObject(byte[] bytes) throws IOException, ClassNotFoundException {ByteArrayInputStream in = new ByteArrayInputStream(bytes);ObjectInputStream oi = new ObjectInputStream(in);Object o = oi.readObject();oi.close();return o;}/** *//*** 把可序列化对象转换成字节数组* @param s* @return* @throws IOException*/public static final byte[] objectToBytes(Serializable s) throws IOException {ByteArrayOutputStream out = new ByteArrayOutputStream();ObjectOutputStream ot = new ObjectOutputStream(out);ot.writeObject(s);ot.flush();ot.close();return out.toByteArray();}public static final String objectToHexString(Serializable s) throws IOException{ return bytesToHexString(objectToBytes(s));}public static final Object hexStringToObject(String hex) throws IOException, ClassNotFoundException{return bytesToObject(hexStringToByte(hex));}/** *//*** @函数功能: BCD码转为10进制串(阿拉伯数据)* @输入参数: BCD码* @输出结果: 10进制串*/public static String bcd2Str(byte[] bytes){StringBuffer temp=new StringBuffer(bytes.length*2);for(int i=0;i<bytes.length;i++){temp.append((byte)((bytes[i]& 0xf0)>>>4));temp.append((byte)(bytes[i]& 0x0f));}returntemp.toString().substring(0,1).equalsIgnoreCase("0")?temp.toString().substring(1):temp.toString() ;}/** *//*** @函数功能: 10进制串转为BCD码* @输入参数: 10进制串* @输出结果: BCD码*/public static byte[] str2Bcd(String asc) {int len = asc.length();int mod = len % 2;if (mod != 0) {asc = "0" + asc;len = asc.length();}byte abt[] = new byte[len];if (len >= 2) {len = len / 2;}byte bbt[] = new byte[len];abt = asc.getBytes();int j, k;for (int p = 0; p < asc.length()/2; p++) {if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {j = abt[2 * p] - '0';} else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {j = abt[2 * p] - 'a' + 0x0a;} else {j = abt[2 * p] - 'A' + 0x0a;}if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {k = abt[2 * p + 1] - '0';} else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {k = abt[2 * p + 1] - 'a' + 0x0a;}else {k = abt[2 * p + 1] - 'A' + 0x0a;}int a = (j << 4) + k;byte b = (byte) a;bbt[p] = b;}return bbt;}/** *//*** @函数功能: BCD码转ASC码* @输入参数: BCD串* @输出结果: ASC码*//*public static String BCD2ASC(byte[] bytes) {StringBuffer temp = new StringBuffer(bytes.length * 2);for (int i = 0; i < bytes.length; i++) {int h = ((bytes[i] & 0xf0) >>> 4);int l = (bytes[i] & 0x0f);temp.append(BToA[h]).append( BToA[l]);}return temp.toString() ;}*//** *//*** MD5加密字符串,返回加密后的16进制字符串* @param origin* @return*/public static String MD5EncodeToHex(String origin) {return bytesToHexString(MD5Encode(origin));}/** *//*** MD5加密字符串,返回加密后的字节数组* @param origin* @return*/public static byte[] MD5Encode(String origin){ return MD5Encode(origin.getBytes());}/** *//*** MD5加密字节数组,返回加密后的字节数组* @param bytes* @return*/public static byte[] MD5Encode(byte[] bytes){ MessageDigest md=null;try {md = MessageDigest.getInstance("MD5");return md.digest(bytes);} catch (NoSuchAlgorithmException e) {e.printStackTrace();return new byte[0];}}}。

Java基础数据类型二进制转换

Java基础数据类型二进制转换

Java基础数据类型⼆进制转换前⾔:本⽂主要介绍java基础类型的⼆进制转换和⼆进制的基本概念。

⼆进制:1,⼆进制是以0和1为码,逢2进1,⽐如3=11=1*2+1。

2,在计算机当中其它进制的算法基本基于2进制,因为计算机只认识0和1,⽐如16进制数则意味着⼀位16进制码由4位2进制码数表⽰。

3,在Java语⾔中byte代表最⼩计量单位,byte由8位2进制数组成。

Java基本数据类型与表⽰范围(boolean忽略)1,byte(整型):8位,short(整型):16位,char(字符型):16位,int(整型):32位,float(浮点型单精度):32位,long(整型):64位,double(浮点型双精度):64位。

2,直接按位做⽐例运算,⼀个short数字或char字符可有两个byte数字表⽰,⼀个float或int数字可由4个byte数字表⽰,⼀个long或double数字可由8个byte数字表⽰。

3,以2进制数表⽰范围计算得到各整型数值表⽰范围,每种数值类型的最⼤表⽰范围可以通过包装类的静态属性取到,⽐如Integer.MAX_VALUE。

4,char类型是最具话题性的数据类型,它承担着整个语⾔世界的符号统统转换称为计算机所认识的编码格式的重任,关于字符集和编码包含了很多概念也带来了很多问题。

⼆进制与编码⼀般对英⽂字符⽽⾔,⼀个字节表⽰⼀个字符,但是对汉字⽽⾔,由于低位的编码已经被使⽤(早期计算机并不⽀持中⽂,因此为了扩展⽀持,唯⼀的办法就是采⽤更多的字节数)只好向⾼位扩展。

⼀般字符集编码的范围utf-8>gbk>iso-8859-1(latin1)>ascll。

是美国标准信息交换码的英⽂缩写,包含了常⽤的字符,如阿拉伯数字,英⽂字母和⼀些打印符号,请注意字符和数字的区别,⽐如'0'字符对应的⼗进制数字是48。

unicode编码包含很多种格式,utf-8是其中最常⽤的⼀种,utf-8名称的来⾃于该编码使⽤8位⼀个字节表⽰⼀个字符。

手把手教你JAVA进制之间的转换

手把手教你JAVA进制之间的转换

⼿把⼿教你JAVA进制之间的转换⽬录1.前⾔2.不同进制的特点3.进制之间的转换3.1 ⼆进制转⼗进制:3.2 ⼗进制转⼆进制:3.3 ⼆进制转⼋进制:3.4 ⼗六进制转⼆进制:3.5 ⼆进制转⼗六进制:4. 代码实现⼆进制与⼗进制互转4. 1 ⼗进制转⼆进制4. 2 ⼆进制转⼗进制4. 3 练习:5. ⼆进制数据在Java代码中的写法总结1.前⾔进制也就是进位计数制,是⼈为定义的带进位的计数⽅法,类似于统计”正”字,对于任何⼀种进制,X进制,就表⽰每⼀位置上的数运算时都是逢X进⼀10进制 : 逢⼗进⼀,包含元素 0~916进制 : 逢⼗六进⼀,包含元素 0~9 a b c d e f2 进制 : 逢⼆进⼀,包含 0 和 1通常情况下: 1byte = 8个⼆进制位表⽰⼀个数字如果⽤⼆进制来表⽰的话,可以写成: 0000 1111把这8个位进⾏组合,每3位组合就形成了8进制每4位组合就形成了16进制2.不同进制的特点2进制 : 逢⼆进⼀ , 包含 0和1 , 以0b开头8进制 : 逢⼋进⼀ , 包含 0~7 , 以0开头10进制 : 逢⼗进⼀ , 包含元素 0~916进制 : 逢⼗六进⼀ ,包含元素 0~9 a b c d e f ,以0x开头3.进制之间的转换关于⼆进制的⼀些数据3.1 ⼆进制转⼗进制:需求:计算⼆进制数据:0000 1101 对应的⼗进制3.2 ⼗进制转⼆进制:需求:求⼗进制数字11对应的⼆进制数简便算法: 11 先拆分成2的次幂元素组成的数, (8+2+1) 然后对应位置改成⼆进制 0000 1011算式计算:不断除以2商0为⽌,取余,倒着写,11的结果:1011 7的结果0111(读的时候先朝右,再朝上的⽅向读)3.3 ⼆进制转⼋进制:从低次位开始,每3位为⼀组,产⽣⼀个⼋进制数字,最⾼位不⾜补0需求:计算⼆进制数据110 0111对应的⼋进制需求:计算⼋进制数据023 0653对应的⼆进制数据3.4 ⼗六进制转⼆进制:⼀个数字拆分成4个数字举例:b->11对应的⼆进制数10113.5 ⼆进制转⼗六进制:四个⼀组,转为⼀个数字,以0x开始举例: 1111->15 ,a在16进制代表的是10,依次类推,15对应的16进制数就是f4. 代码实现⼆进制与⼗进制互转java 中也提供了⼆进制和⼗进制的互转⽅法:4. 1 ⼗进制转⼆进制private static void desToBin() {//10进制转2进制String s = Integer.toBinaryString(257);System.out.println(s);//100000001}4. 2 ⼆进制转⼗进制Integer.parseInt(String s, int radix)第⼀个参数:要转成⼗进制数的⼆进制字符串第⼆个参数:指定的进制注意:这⾥不⽀持直接使⽤负数的⼆进制码来表⽰负数,⽽是要⽤正数的⼆进制码添加负号来表⽰ private static void binToDes() {int i = Integer.parseInt("-1100101101", 2);System.out.println(i);//813int i2 = Integer.parseInt("-1100101101", 2);System.out.println(i2);//-813}4. 3 练习:需求:输⼊⼗进制整数转成2进制,输⼊⼆进制整数转成⼗进制package cn.cxy.exec;import java.util.Scanner;/*完成⼗进制与⼆进制之间的转换*/public class Test {public static void main(String[] args) {//m1();m2();}private static void m2() {while (true) {System.out.print("输⼊整数的⼆进制码:");String s = new Scanner(System.in).nextLine();int a = Integer.parseInt(s, 2);System.out.println("对应的⼗进制数是:"+a);}}private static void m1() {while (true) {System.out.print("输⼊⼗进制整数:");int a = new Scanner(System.in).nextInt();String s = Integer.toBinaryString(a);System.out.println("对应的⼆进制数是:"+s);}}}5. ⼆进制数据在Java代码中的写法在Java语法中:⼆进制字⾯值可以使⽤ 0b 前缀的整数直接表⽰:int a = 0b11001;byte b = 0b1111111;// 0b前缀语法不允许直接写负数的⼆进制码,这样写实际表⽰的是正数128byte c = 0b10000000; //此处错误// 要写byte的最⼩值-128,需要写 128 的⼆进制码,并加负号byte d = -0b10000000;总结本篇⽂章就到这⾥了,希望能给你带来帮助,也希望您能够多多关注的更多内容!。

java基础:进制和转换

java基础:进制和转换

java基础:进制和转换关于进制所有数字在计算机底层都以⼆进制形式存在。

对于整数,有四种表⽰⽅式⼆进制(binary):满2进1,以0B或0b开头⼗进制(decimal):满10进1⼋进制(octal):0-7,满8进1,以数字0开头⼗六进制(hex):满16进1,以0X或0x开头表⽰,A-F不区分⼤⼩写。

public class BinTest {public static void main(String[] args) {int i = 0123;//⼋进制int j = 0x123;//⼗六进制int m = 0b1010;//⼆进制System.out.println(m);System.out.println(i);System.out.println(j);}}⼆进制Java整数常量默认是int类型,当⽤⼆进制定义整数时,其第32位是符号位;当是long类型时,⼆进制默认占64位,第64位是符号位⼆进制的整数有如下三种形式:原码:直接将⼀个数值换成⼆进制数。

最⾼位是符号位负数的反码:是对原码按位取反,只是最⾼位(符号位)确定为1。

负数的补码:其反码加1。

计算机以⼆进制补码的形式保存所有的整数。

正数的原码、反码、补码都相同负数的补码是其反码+1⼆进制、⼋进制、⼗六进制转换进制之间的转换⽅法Integer包装类的⽅法//将int转换为⼗六进制public static String toHexString(int i)//将int转换为⼋进制public static String toOctalString(int i)//将int转换为⼆进制public static String toBinaryString(int i)测试public class BinTest {public static void main(String[] args) {int i = 0123;//⼋进制int j = 0x123;//⼗六进制int m = 0b1010;//⼆进制//⼆进制转⼗六进制System.out.println(Integer.toHexString(m));//⼋进制转⼆进制System.out.println(Integer.toBinaryString(i));//⼗六进制转⼗进制System.out.println(Integer.toString(j));}}此外还可以使⽤BigInteger的⽅法进⾏进制转换,这⾥不再赘述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA二进制字节数组字符十六进制BCD编码转换;import java.io.*;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class DataConverter {/* 把16进制字符串转换成字节数组* @param hex* @return*/public static byte[] hexStringToByte(String hex) {int len = (hex.length() / 2);byte[] result = new byte[len];char[] achar = hex.toCharArray();for (int i = 0; i < len; i++) {int pos = i * 2;result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));}return result;}private static byte toByte(char c) {byte b = (byte) "0123456789ABCDEF".indexOf(c);return b;}/** *//*** 把字节数组转换成16进制字符串* @param bArray* @return*/public static final String bytesToHexString(byte[] bArray) {StringBuffer sb = new StringBuffer(bArray.length);String sTemp;for (int i = 0; i < bArray.length; i++) {sTemp = Integer.toHexString(0xFF & bArray[i]);if (sTemp.length() < 2)sb.append(0);sb.append(sTemp.toUpperCase());}return sb.toString();}/** *//*** 把字节数组转换为对象* @param bytes* @return* @throws IOException* @throws ClassNotFoundException*/public static final Object bytesToObject(byte[] bytes) throws IOException, ClassNotFoundException {ByteArrayInputStream in = new ByteArrayInputStream(bytes);ObjectInputStream oi = new ObjectInputStream(in);Object o = oi.readObject();oi.close();return o;}/** *//*** 把可序列化对象转换成字节数组* @param s* @return* @throws IOException*/public static final byte[] objectToBytes(Serializable s) throws IOException {ByteArrayOutputStream out = new ByteArrayOutputStream();ObjectOutputStream ot = new ObjectOutputStream(out);ot.writeObject(s);ot.flush();ot.close();return out.toByteArray();}public static final String objectToHexString(Serializable s) throws IOException{ return bytesToHexString(objectToBytes(s));}public static final Object hexStringToObject(String hex) throws IOException, ClassNotFoundException{return bytesToObject(hexStringToByte(hex));}/** *//*** @函数功能: BCD码转为10进制串(阿拉伯数据)* @输入参数: BCD码* @输出结果: 10进制串*/public static String bcd2Str(byte[] bytes){StringBuffer temp=new StringBuffer(bytes.length*2);for(int i=0;i<bytes.length;i++){temp.append((byte)((bytes[i]& 0xf0)>>>4));temp.append((byte)(bytes[i]& 0x0f));}returntemp.toString().substring(0,1).equalsIgnoreCase("0")?temp.toString().substring(1):temp.toString() ;}/** *//*** @函数功能: 10进制串转为BCD码* @输入参数: 10进制串* @输出结果: BCD码*/public static byte[] str2Bcd(String asc) {int len = asc.length();int mod = len % 2;if (mod != 0) {asc = "0" + asc;len = asc.length();}byte abt[] = new byte[len];if (len >= 2) {len = len / 2;}byte bbt[] = new byte[len];abt = asc.getBytes();int j, k;for (int p = 0; p < asc.length()/2; p++) {if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {j = abt[2 * p] - '0';} else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {j = abt[2 * p] - 'a' + 0x0a;} else {j = abt[2 * p] - 'A' + 0x0a;}if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {k = abt[2 * p + 1] - '0';} else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {k = abt[2 * p + 1] - 'a' + 0x0a;}else {k = abt[2 * p + 1] - 'A' + 0x0a;}int a = (j << 4) + k;byte b = (byte) a;bbt[p] = b;}return bbt;}/** *//*** @函数功能: BCD码转ASC码* @输入参数: BCD串* @输出结果: ASC码*//*public static String BCD2ASC(byte[] bytes) {StringBuffer temp = new StringBuffer(bytes.length * 2);for (int i = 0; i < bytes.length; i++) {int h = ((bytes[i] & 0xf0) >>> 4);int l = (bytes[i] & 0x0f);temp.append(BToA[h]).append( BToA[l]);}return temp.toString() ;}*//** *//*** MD5加密字符串,返回加密后的16进制字符串* @param origin* @return*/public static String MD5EncodeToHex(String origin) {return bytesToHexString(MD5Encode(origin));}/** *//*** MD5加密字符串,返回加密后的字节数组* @param origin* @return*/public static byte[] MD5Encode(String origin){ return MD5Encode(origin.getBytes());}/** *//*** MD5加密字节数组,返回加密后的字节数组* @param bytes* @return*/public static byte[] MD5Encode(byte[] bytes){ MessageDigest md=null;try {md = MessageDigest.getInstance("MD5");return md.digest(bytes);} catch (NoSuchAlgorithmException e) {e.printStackTrace();return new byte[0];}}}。

相关文档
最新文档