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

📄 base16.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
字号:
// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)package org.xbill.DNS.utils;import java.io.*;/** * Routines for converting between Strings of hex-encoded data and arrays of * binary data.  This is not actually used by DNS. * * @author Brian Wellington */public class base16 {private static final String Base16 = "0123456789ABCDEF";privatebase16() {}/** * Convert binary data to a hex-encoded String * @param b An array containing binary data * @return A String containing the encoded data */public static StringtoString(byte [] b) {	ByteArrayOutputStream os = new ByteArrayOutputStream();	for (int i = 0; i < b.length; i++) {		short value = (short) (b[i] & 0xFF);		byte high = (byte) (value >> 4);		byte low = (byte) (value & 0xF);		os.write(Base16.charAt(high));		os.write(Base16.charAt(low));	}	return new String(os.toByteArray());}/** * Convert a hex-encoded String to binary data * @param str A String containing the encoded data * @return An array containing the binary data, or null if the string is invalid */public static byte []fromString(String str) {	ByteArrayOutputStream bs = new ByteArrayOutputStream();	byte [] raw = str.getBytes();	for (int i = 0; i < raw.length; i++) {		if (!Character.isWhitespace((char)raw[i]))			bs.write(raw[i]);	}	byte [] in = bs.toByteArray();	if (in.length % 2 != 0) {		return null;	}	bs.reset();	DataOutputStream ds = new DataOutputStream(bs);	for (int i = 0; i < in.length; i += 2) {		byte high = (byte) Base16.indexOf(Character.toUpperCase((char)in[i]));		byte low = (byte) Base16.indexOf(Character.toUpperCase((char)in[i+1]));		try {			ds.writeByte((high << 4) + low);		}		catch (IOException e) {		}	}	return bs.toByteArray();}}

⌨️ 快捷键说明

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