hex.java

来自「java 文件下载器。可自定义」· Java 代码 · 共 67 行

JAVA
67
字号
// 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:   Hex.java

package org.bouncycastle.util.encoders;


// Referenced classes of package org.bouncycastle.util.encoders:
//			HexTranslator

public class Hex
{

	private static HexTranslator encoder = new HexTranslator();
	private static final byte hexTable[] = {
		48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 
		97, 98, 99, 100, 101, 102
	};

	public Hex()
	{
	}

	public static byte[] encode(byte array[])
	{
		return encode(array, 0, array.length);
	}

	public static byte[] encode(byte array[], int off, int length)
	{
		byte enc[] = new byte[length * 2];
		encoder.encode(array, off, length, enc, 0);
		return enc;
	}

	public static byte[] decode(String string)
	{
		byte bytes[] = new byte[string.length() / 2];
		String buf = string.toLowerCase();
		for (int i = 0; i < buf.length(); i += 2)
		{
			char left = buf.charAt(i);
			char right = buf.charAt(i + 1);
			int index = i / 2;
			if (left < 'a')
				bytes[index] = (byte)(left - 48 << 4);
			else
				bytes[index] = (byte)((left - 97) + 10 << 4);
			if (right < 'a')
				bytes[index] += (byte)(right - 48);
			else
				bytes[index] += (byte)((right - 97) + 10);
		}

		return bytes;
	}

	public static byte[] decode(byte array[])
	{
		byte bytes[] = new byte[array.length / 2];
		encoder.decode(array, 0, array.length, bytes, 0);
		return bytes;
	}

}

⌨️ 快捷键说明

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