大家好,今天小编关注到一个比较有意思的话题,就是关于java语言基础进制的问题,于是小编就整理了3个相关介绍j***a语言基础进制的解答,让我们一起看看吧。
j***a中如何将byte[]里面的数据转换成十六进制?
/* * * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int) *来转换成16进制字符串。 * @param src byte[] data * @return hex string */ 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.***end(hv); } return stringBuilder.toString(); } 此方法能将byte[]转化成16进制字符串,希望能帮到你。
如何用j***a语言使十进制数转换成十六进制数?
我的思路很简单: public class 六转2 { public static void main(String[] args) { System.out.println(" ==========16转二进制========== "); init(); }//初始化! private static void init() { //字符串形式的:16进制! String s="ACCC"; //字符串形式十进制--作为桥梁! int sint=Integer.valueOf(s, 16); //十进制在转换成二进制的字符串形式输出! String bin=Integer.toBinaryString(sint); //输出! System.out.println(bin); } }
5 j***a下把16进制字符串转化成byte数组型?
给你如下两个方法,你可以试试: public static byte uniteBytes(byte str0, byte str1) { byte _b0 = Byte.decode("0x" + new String(new byte[]{str0})).byteValue(); _b0 = (byte)(_b0 << 4); byte _b1 = Byte.decode("0x" + new String(new byte[]{str1})).byteValue(); byte ret = (byte)(_b0 ^ _b1); return ret; } public static byte[] HexString2Bytes(String str){ byte[] ret = new byte[str.length()/2]; byte[] tmp = str.getBytes(); for(int i=0; i<str.length()/2; i++){ ret[i] = uniteBytes(tmp[i*2], tmp[i*2+1]); } return ret; } demo: String str = "1A543C3265C133D23F416E21" byte[] by = HexString2Bytes(str);
到此,以上就是小编对于j***a语言基础进制的问题就介绍到这了,希望介绍关于j***a语言基础进制的3点解答对大家有用。