Dieser Artikel beschreibt die Java -Implementierung der Binärkonvertierungswerkzeugklasse. Teilen Sie es für Ihre Referenz wie folgt weiter:
Import Java.nio.Charset.CharSet;/*** Hexadezimal (abgekürzt wie Hex oder Index 16) ist ein Tragsystem in der Mathematik, das von 16 bis 1. ist im Allgemeinen durch die Nummern 0 bis 9 und die Buchstaben a bis f (wobei: a ~ f 10 ~ 15) dargestellt wird. <br> * Zum Beispiel ist die Dezimalzahl 57 in Binary 111001 und der Hexadezimal 39 in Hexadezimal geschrieben. <br> * Um zwischen hexadezimalen und dezimalen Werten zu unterscheiden, werden Sprachen wie Java und C vor der Hexadezimalzahl 0x vorab. * */public class hexkit {/** * Kleinbuchstaben -Array, mit der die Ausgabe von hexadezimalen Zeichen erstellt wurde / *** Ein Kapitalcharakter -Array, das verwendet wird, um die Ausgabe von hexadezimalen Zeichen zu erstellen. // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * @return hex char [] */ public static char [] enCodhex (byte [] data) {return codheEx (data, true); } / *** Ein Byte -Array in ein hexadezimales Zeichen -Array** @param String String* @param charset codieren* @return hex char []* / public static char [] coddeHex (String Str, charset charset) {return codehEx (strkit.getBytes (str, charset), wahr); } /** * Convert byte array to hexadecimal character array* * @param data byte[] * @param toLowerCase <code>true</code> Transfer to lowercase format, <code>false</code> Transfer to uppercase format* @return Hex char[] */ public static char[] encodeHex(byte[] data, boolean toLowerCase) { return encodeHex(data, TolowerCase? } / ** * Byte -Array in hexadezimaler String konvertieren * * @param data byte [] * @return hexString * / public static String codhexstr (byte [] data) {return coddexstr (data, true); }/** * Byte -Array in Hex -String konvertieren * * @param Data Byte [] * @param TolowerCase <Code> TRUE </code> auf Kleinbuchstaben, <code> false </code> auf Großbuchstaben übertragen. : Digits_upper); } // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- decodeHexstr (hexstr.toarArray (), charset); } / *** HEX -Zeichen -Array in Zeichenfolge konvertieren** @param hexData hex char []* @param charset codierung* @return String* / public static String decodeHexstr (char [] hexData, charset charset) {return strkit.str (decodeHex (hexdata), charset); } / ** * Das Hex -Charakter -Array in Byte -Array konvertieren. if ((len & 0x01)! } byte [] out = new byte [len >> 1]; // Zwei Zeichen bilden den Hex -Wert. für (int i = 0, j = 0; j <len; i ++) {int f = todigit (hexdata [j], j) << 4; J ++; f = f | Todigit (Hexdata [J], J); J ++; out [i] = (byte) (f & 0xff); } kehre aus; } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Todigits) {neuer String zurückgeben (EncodeHex (Daten, Verbrauch)); } / ** * Byte -Array in das Hex -Zeichen -Array konvertieren * * @param data byte [] * @param todudigits char [] zur Steuerung der Ausgabe * @return hex char [] * / private static char [] coddehex (byte [] data, char [] to -digits) {int l = daten.Length; char [] out = new char [l << 1]; // Zwei Zeichen bilden den Hex -Wert. für (int i = 0, j = 0; i <l; i ++) {out [j ++] = todigits [(0xf0 & data [i]) >>> 4]; out [j ++] = todigits [0x0f & data [i]]; } kehre aus; } / *** Umwandeln Sie Hexadezimalzeichen in eine Ganzzahl** @param ch hexadecimal char* @param Index Die Position von Hexadezimalzeichen im Charakter -Array* @return einen Ganzzahl* @throws runTimeException Wenn CH kein legaler Hexadezimal -Charakter, ein laufender Ausnahme* / privates statisches Intat -Into -Into -Into -Into -Into -Into -Into -In -Index ist, intell. Charakter.Digit (Ch, 16); if (digit == -1) {neue runimeexception werfen ("illegales hexadezimales Zeichen" + ch + "at index" + index); } return digit; } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- bstring.length () % 8! = 0) return null; StringBuffer tmp = new StringBuffer (); int itmp = 0; für (int i = 0; i <bstring.length (); i += 4) {itmp = 0; für (int j = 0; j <4; j ++) {itmp + = integer.parseInt (bstring.substring (i + j, i + j + 1)) << (4 - j - 1); } tmp.Append (Integer.ToHexString (ITMP)); } return tmp.toString (); } / ** * hexString * @param hexstring * @return * / public static String hex2Binary (String hexString) {if (hexstring == null || hexstring.length () % 2! = 0) return null; String bstring = "", TMP; für (int i = 0; i <hexstring.length (); i ++) {tmp = "0000" + Integer bstring += tmp.substring (tmp.length () - 4); } return bstring; } / ** * binär in hex * @param buf * @return * / public static String binary2hex (Byte buf []) {StringBuffer SB = new StringBuffer (); für (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 (); } / ** * Hexstr in binär konvertieren byte [] result = new byte [hexstr.length () / 2]; für (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); Ergebnis [i] = (Byte) (hoch * 16 + niedrig); } Rückgabeergebnis; }}PS: Hier sind einige Online -Conversion- und Berechnungstools für diese Website. Ich glaube, es wird Ihnen hilfreich sein:
Online -willkürliches Conversion -Tool:
http://tools.vevb.com/transcoding/hexconvert
Online -Standardrechner:
http://tools.vevb.com/jisuanqi/jsq
Online -wissenschaftlicher Taschenrechner:
http://tools.vevb.com/jisuanqi/jsqkeexue
Für weitere Informationen zu Java -Algorithmen können Leser, die an dieser Website interessiert sind, die Themen "Java -Datenstruktur und Algorithmus -Tutorial", "Zusammenfassung der Java -Operation DOM -Knoten -Tipps", "Zusammenfassung der Java -Datei- und Verzeichnisoperationstipps" und "Zusammenfassung der Java -Cache -Operation Tipps" anzeigen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.