bytes = s.getBytes(PREFERRED_ENCODING); } catch (java.io.UnsupportedEncodingException uee) { bytes = s.getBytes(); }
sbiCrop = (byte) (source[i] & 0x7f); sbiDecode = DECODABET[sbiCrop];
	public static byte[] decode(String s)	{		byte[] bytes;		try		{			bytes = s.getBytes(PREFERRED_ENCODING);		} // end try		catch (java.io.UnsupportedEncodingException uee)		{			bytes = s.getBytes();		} // end catch		//</change>		// Decode		bytes = decode(bytes, 0, bytes.length);		// Check to see if it's gzip-compressed		// GZIP Magic Two-Byte Number: 0x8b1f (35615)		if ((bytes != null) && (bytes.length >= 4))		{			int head = (bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);			if (java.util.zip.GZIPInputStream.GZIP_MAGIC == head)			{				java.io.ByteArrayInputStream bais = null;				java.util.zip.GZIPInputStream gzis = null;				java.io.ByteArrayOutputStream baos = null;				byte[] buffer = new byte[2048];				int length = 0;				try				{					baos = new java.io.ByteArrayOutputStream();					bais = new java.io.ByteArrayInputStream(bytes);					gzis = new java.util.zip.GZIPInputStream(bais);					while ((length = gzis.read(buffer)) >= 0)					{						baos.write(buffer, 0, length);					} // end while: reading input					// No error? Get new bytes.					bytes = baos.toByteArray();				} // end try				catch (java.io.IOException e)				{					// Just return originally-decoded bytes				} // end catch				finally				{					try					{						baos.close();					}					catch (Exception e)					{					}					try					{						gzis.close();					}					catch (Exception e)					{					}					try					{						bais.close();					}					catch (Exception e)					{					}				} // end finally			} // end if: gzipped		} // end if: bytes.length >= 2		return bytes;	} // end decode