Autor Thema: hex in byte[], byte[] in hex  (Gelesen 7635 mal)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
hex in byte[], byte[] in hex
« am: 02.07.08 - 21:34:04 »
Hi,

das seltsamste, das ich seit langen gemacht hab.
Websphere MQ speichert bestimmte IDs als byte arrays mit 32 Elementen.
Zur Anzeige wollen die das aber als hex-Werte.
Der Wertebereich des primitiven Datentyps byte ist in Java -128 bis 127.
Ein Byte kann also durch 2 Hexadezimalziffern dargestellt werden: 16 * 16.

Nach diesen eigenständigen Überlegungen, hab ich mir den Code per google geholt.

Diese byte -> hex und hex-> byte Operationen scheinen recht gebräuchlich in gewissen Domains zu sein.
Hier ist das Prachtstück:
Code
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package de.spintegration.mqseries.client.converter;

import java.math.BigInteger;

/**
 *
 * @author ajanssen
 */
public class ByteArrayConverter implements IConverter {

    public String getStrValue(Object obj) {
        if (obj == null) {
            return null;
        }

        byte[] arrByte = (byte[]) obj;
        String ret = "";
        for (int i = 0; i < arrByte.length; i++) {

            char b = (char) (arrByte[i] & 0xFF);
            if (b < 0x10) {
                ret = ret + "0";
            }
            ret = ret + (String) (Integer.toHexString(b)).toUpperCase();
        }

        return ret;

    }

    public Object getObj(String strValue) {
        if (strValue == null) {
            return new byte[]{};
        } else {
            byte[] bts = new BigInteger(strValue, 16).toByteArray();

            return bts;
        }

    }
}
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz