java中实现将十六进制按位取反
生活随笔
收集整理的這篇文章主要介紹了
java中实现将十六进制按位取反
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public static void main(String[] args) {String javaStr = "060A04000000C2"; //十六進制byte [] bytes = parseHexStr2Byte(javaStr);byte temp;for(int i=0;i<bytes.length;i++){temp = bytes[i];bytes[i] = (byte) (~temp);}String bths = parseByte2HexStr(bytes);System.err.println("按位取反后的結果:"+bths );
}/*** 將二進制轉換成16進制** @param buf* @return*/public static String parseByte2HexStr(byte buf[]) {StringBuffer sb = new StringBuffer();for (int i = 0; i < buf.length; i++) {String hex = Integer.toHexString(buf[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}sb.append(hex.toUpperCase());}return sb.toString();}/*** 將16進制轉換為二進制** @param hexStr* @return*/public static byte[] parseHexStr2Byte(String hexStr) {if (hexStr.length() < 1)return null;byte[] result = new byte[hexStr.length() / 2];for (int i = 0; i < hexStr.length() / 2; i++) {int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),16);result[i] = (byte) (high * 16 + low);}return result;}
總結
以上是生活随笔為你收集整理的java中实现将十六进制按位取反的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中实现十六进制和二进制之间的相互
- 下一篇: IDEA中如何设置方法注释格式