2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

时间:2023-04-08 06:13:31

相关推荐

Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

【前言】

Java中很多时候需要将byte[]转为各种进制的字符串显示,从2,8,10,16到比较高级的base64(编码),

至于什么时候需要这样,当你遇到这样的问题就知道了。

【代码】

进制转换比较简单,直接上代码,编码转换见其他文章。例如这个

import java.math.BigInteger; public class QEncodeUtil { public static void main(String[] args) { String s = "woaini"; byte[] bytes = s.getBytes(); System.out.println("将woaini转为不同进制的字符串:"); System.out.println("可以转换的进制范围:" + Character.MIN_RADIX + "-" + Character.MAX_RADIX); System.out.println("2进制:" + binary(bytes, 2)); System.out.println("5进制:" + binary(bytes, 5)); System.out.println("8进制:" + binary(bytes, 8)); System.out.println("16进制:" + binary(bytes, 16)); System.out.println("32进制:" + binary(bytes, 32)); System.out.println("64进制:" + binary(bytes, 64));// 这个已经超出范围,超出范围后变为10进制显示 System.exit(0); } /** * 将byte[]转为各种进制的字符串 * @param bytes byte[] * @param radix 基数可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制 * @return 转换后的字符串 */ public static String binary(byte[] bytes, int radix){ return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数 } }

【输出】

将woaini转为不同进制的字符串: 可以转换的进制范围:2-36 2进制:11101110110111101100001011010010110111001101001 5进制:114203022342344442242 8进制:3566754132267151 16进制:776f61696e69 32进制:3ndtgmirj9 64进制:131320259374697

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。