Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串
生活随笔
收集整理的這篇文章主要介紹了
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總結
以上是生活随笔為你收集整理的Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10、晶体三极管的符号和结构
- 下一篇: EOJ 2月月赛补题