⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 byteformatter.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ByteFormatter.java

package org.gudy.azureus2.core3.util;

import java.nio.ByteBuffer;

// Referenced classes of package org.gudy.azureus2.core3.util:
//			Debug

public class ByteFormatter
{

	static final char HEXDIGITS[] = {
		'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 
		'A', 'B', 'C', 'D', 'E', 'F'
	};

	public ByteFormatter()
	{
	}

	public static String nicePrint(String str)
	{
		return nicePrint(str.getBytes(), true);
	}

	public static String nicePrint(byte data[])
	{
		return nicePrint(data, false);
	}

	public static String nicePrint(byte data[], int max)
	{
		return nicePrint(data, false, max);
	}

	public static String nicePrint(ByteBuffer data)
	{
		byte raw[] = new byte[data.limit()];
		for (int i = 0; i < raw.length; i++)
			raw[i] = data.get(i);

		return nicePrint(raw);
	}

	public static String nicePrint(byte data[], boolean tight)
	{
		return nicePrint(data, tight, 1024);
	}

	public static String nicePrint(byte data[], boolean tight, int max_length)
	{
		char out[];
		Exception e;
		if (data == null)
			return "";
		int dataLength = data.length;
		if (dataLength > max_length)
			dataLength = max_length;
		int size = dataLength * 2;
		if (!tight)
			size += (dataLength - 1) / 4;
		out = new char[size];
		try
		{
			int pos = 0;
			for (int i = 0; i < dataLength; i++)
			{
				if (!tight && i % 4 == 0 && i > 0)
					out[pos++] = ' ';
				out[pos++] = HEXDIGITS[(byte)(data[i] >> 4 & 0xf)];
				out[pos++] = HEXDIGITS[(byte)(data[i] & 0xf)];
			}

		}
		// Misplaced declaration of an exception variable
		catch (Exception e)
		{
			Debug.printStackTrace(e);
		}
		return (new StringBuilder()).append(new String(out)).append(data.length <= max_length ? "" : "...").toString();
		e;
		Debug.printStackTrace(e);
		return "";
	}

	public static String nicePrint(byte b)
	{
		byte b1 = (byte)(b >> 4 & 0xf);
		byte b2 = (byte)(b & 0xf);
		return (new StringBuilder()).append(nicePrint2(b1)).append(nicePrint2(b2)).toString();
	}

	public static String nicePrint2(byte b)
	{
		String out = "";
		switch (b)
		{
		case 0: // '\0'
			out = "0";
			break;

		case 1: // '\001'
			out = "1";
			break;

		case 2: // '\002'
			out = "2";
			break;

		case 3: // '\003'
			out = "3";
			break;

		case 4: // '\004'
			out = "4";
			break;

		case 5: // '\005'
			out = "5";
			break;

		case 6: // '\006'
			out = "6";
			break;

		case 7: // '\007'
			out = "7";
			break;

		case 8: // '\b'
			out = "8";
			break;

		case 9: // '\t'
			out = "9";
			break;

		case 10: // '\n'
			out = "A";
			break;

		case 11: // '\013'
			out = "B";
			break;

		case 12: // '\f'
			out = "C";
			break;

		case 13: // '\r'
			out = "D";
			break;

		case 14: // '\016'
			out = "E";
			break;

		case 15: // '\017'
			out = "F";
			break;
		}
		return out;
	}

	public static String encodeString(byte bytes[])
	{
		return nicePrint(bytes, true);
	}

	public static String encodeString(byte bytes[], int offset, int len)
	{
		byte x[] = new byte[len];
		System.arraycopy(bytes, offset, x, 0, len);
		return nicePrint(x, true);
	}

	public static byte[] decodeString(String str)
	{
		char chars[] = str.toCharArray();
		int chars_length = chars.length - chars.length % 2;
		byte res[] = new byte[chars_length / 2];
		for (int i = 0; i < chars_length; i += 2)
		{
			String b = new String(chars, i, 2);
			res[i / 2] = (byte)Integer.parseInt(b, 16);
		}

		return res;
	}

	public static int byteArrayToInt(byte array[])
	{
		return array[0] << 24 & 0xff000000 | array[1] << 16 & 0xff0000 | array[2] << 8 & 0xff00 | array[3] & 0xff;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -