cryptix.util.core

Class Hex


public class Hex
extends java.lang.Object

Static methods for converting to and from hexadecimal strings.

Copyright © 1995-1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.2 $

Authors:
David Hopwood
Raif Naffah
Systemics Ltd

Since:
Cryptix 2.2.0a, 2.2.2

Method Summary

static String
byteToString(int n)
Returns a string of 2 hexadecimal digits (most significant digit first) corresponding to the lowest 8 bits of n.
static String
dumpString(byte[] data)
static String
dumpString(byte[] data, String m)
static String
dumpString(byte[] data, int offset, int length)
static String
dumpString(byte[] data, int offset, int length, String m)
Dump a byte array as a string, in a format that is easy to read for debugging.
static String
dumpString(int[] data)
static String
dumpString(int[] data, String m)
static String
dumpString(int[] data, int offset, int length)
static String
dumpString(int[] data, int offset, int length, String m)
Dump an int array as a string, in a format that is easy to read for debugging.
static int
fromDigit(char ch)
Returns the number from 0 to 15 corresponding to the hex digit ch.
static byte[]
fromReversedString(String hex)
Returns a byte array from a string of hexadecimal digits in reverse order (i.e.
static byte[]
fromString(String hex)
Returns a byte array from a string of hexadecimal digits.
static String
intToString(int n)
Returns a string of 8 hexadecimal digits (most significant digit first) corresponding to the integer n, which is treated as unsigned.
static String
longToString(long n)
Returns a string of 16 hexadecimal digits (most significant digit first) corresponding to the long n, which is treated as unsigned.
static void
main(String[] args)
static void
self_test(PrintWriter out)
static String
shortToString(int n)
Returns a string of 4 hexadecimal digits (most significant digit first) corresponding to the lowest 16 bits of n.
static char
toDigit(int n)
Returns the hex digit corresponding to a number n, from 0 to 15.
static String
toReversedString(byte[] b)
static String
toReversedString(byte[] b, int offset, int length)
Returns a string of hexadecimal digits in reverse order from a byte array (i.e.
static String
toString(byte[] ba)
static String
toString(byte[] ba, int offset, int length)
Returns a string of hexadecimal digits from a byte array.
static String
toString(int[] ia)
static String
toString(int[] ia, int offset, int length)
Returns a string of hexadecimal digits from an integer array.

Method Details

byteToString

public static String byteToString(int n)
Returns a string of 2 hexadecimal digits (most significant digit first) corresponding to the lowest 8 bits of n.


dumpString

public static String dumpString(byte[] data)


dumpString

public static String dumpString(byte[] data,
                                String m)


dumpString

public static String dumpString(byte[] data,
                                int offset,
                                int length)


dumpString

public static String dumpString(byte[] data,
                                int offset,
                                int length,
                                String m)
Dump a byte array as a string, in a format that is easy to read for debugging. The string m is prepended to the start of each line.

If offset and length are omitted, the whole array is used. If m is omitted, nothing is prepended to each line.

Parameters:
data - the byte array to be dumped
offset - the offset within data to start from
length - the number of bytes to dump
m - a string to be prepended to each line

Returns:
a String containing the dump.


dumpString

public static String dumpString(int[] data)


dumpString

public static String dumpString(int[] data,
                                String m)


dumpString

public static String dumpString(int[] data,
                                int offset,
                                int length)


dumpString

public static String dumpString(int[] data,
                                int offset,
                                int length,
                                String m)
Dump an int array as a string, in a format that is easy to read for debugging. The string m is prepended to the start of each line.

If offset and length are omitted, the whole array is used. If m is omitted, nothing is prepended to each line.

Parameters:
data - The int[] to dump
offset - The offset within data to start from
length - The number of ints to dump
m - A string to prepend to each line

Returns:
A String containing the dump.


fromDigit

public static int fromDigit(char ch)
Returns the number from 0 to 15 corresponding to the hex digit ch.


fromReversedString

public static byte[] fromReversedString(String hex)
Returns a byte array from a string of hexadecimal digits in reverse order (i.e. the least significant byte is first, but within each byte the most significant hex digit is before the least significant hex digit). The string must have an even number of digits.

This is not really either little nor big-endian; it's just obscure. It is here because it is the format used for the SPEED certification data.


fromString

public static byte[] fromString(String hex)
Returns a byte array from a string of hexadecimal digits.


intToString

public static String intToString(int n)
Returns a string of 8 hexadecimal digits (most significant digit first) corresponding to the integer n, which is treated as unsigned.


longToString

public static String longToString(long n)
Returns a string of 16 hexadecimal digits (most significant digit first) corresponding to the long n, which is treated as unsigned.


main

public static void main(String[] args)


self_test

public static void self_test(PrintWriter out)


shortToString

public static String shortToString(int n)
Returns a string of 4 hexadecimal digits (most significant digit first) corresponding to the lowest 16 bits of n.


toDigit

public static char toDigit(int n)
Returns the hex digit corresponding to a number n, from 0 to 15.


toReversedString

public static String toReversedString(byte[] b)


toReversedString

public static String toReversedString(byte[] b,
                                      int offset,
                                      int length)
Returns a string of hexadecimal digits in reverse order from a byte array (i.e. the least significant byte is first, but within each byte the most significant hex digit is before the least significant hex digit).

If offset and length are omitted, the whole array is used.


toString

public static String toString(byte[] ba)


toString

public static String toString(byte[] ba,
                              int offset,
                              int length)
Returns a string of hexadecimal digits from a byte array. Each byte is converted to 2 hex symbols.

If offset and length are omitted, the whole array is used.


toString

public static String toString(int[] ia)


toString

public static String toString(int[] ia,
                              int offset,
                              int length)
Returns a string of hexadecimal digits from an integer array. Each int is converted to 4 hex symbols.

If offset and length are omitted, the whole array is used.