/*
* Enhydra Java Application Server Project
*
* The contents of this file are subject to the Enhydra Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License on
* the Enhydra web site ( http://www.enhydra.org/ ).
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific terms governing rights and limitations
* under the License.
*
* The Initial Developer of the Enhydra Application Server is Lutris
* Technologies, Inc. The Enhydra Application Server and portions created
* by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
* All Rights Reserved.
*
* Contributor(s):
*
* $Id: BytesToString.java,v 1.15 2005/06/13 09:26:06 draganr Exp $
*/
package com.lutris.util;
/**
This class has static methods which convert arrays of bytes to
a strings. It remaps non-ascii bytes to ".". One use for this class is
to convert raw data read in from a file or the net to a human-readable
form, probably for debugging.
@author Andy John
*/
public class BytesToString {
/**
Converts the array of bytes to a string. Non-ascii characters
are converted to ".".
@param b The array of bytes to convert.
@return The bytes converted into a string.
*/
public static String conv(byte[] b) {
return conv(b, b.length);
}
/**
Converts the array of bytes to a string. Non-ascii characters
are converted to ".". Only the first len bytes are used.
@param b The array of bytes to convert.
@param len Only uses bytes b[0]..b[len-1].
@return The bytes converted into a string.
*/
public static String conv(byte[] b, int len) {
byte[] c = new byte[len];
for(int i=0; i<len; i++) {
byte n = b[i];
if ((n < 32) || (n > 128))
n = 65;
c[i] = n;
}
return new String(c);
}
}