Base64编码与解码的java实现
public class Base64 {
//码表
static private char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
.toCharArray();
//codes里存放的是值表
//可以这么理解根据码表中的值可以得到编码前的值
//如codes['A']=0,即为其索引值
static private byte[] codes = new byte[256];
static {
for (int i = 0; i < 256; i++)
codes[i] = -1;
for (int i = 'A'; i <= 'Z'; i++)
codes[i] = (byte) (i - 'A');
for (int i = 'a'; i <= 'z'; i++)
codes[i] = (byte) (26 + i - 'a');
for (int i = '0'; i <= '9'; i++)
codes[i] = (byte) (52 + i - '0');
codes['+'] = 62;
codes['/'] = 63;
}
/**
* 将原始数据编码为base64编码
*/
static public char[] encode(byte[] data) {
//对于原文的字节数量是3的倍数的时候,转换后的字符串理论上将要比原来的长1/3,即原来的4/3.
//当原文的字节数不是3的倍数的时候,不足的地方我们补全.
//故原文补全后的最大长度为 原字符串长度+2
//编码后的长度为(原字符串长度+2)*3/4
char[] out = new char[((data.length + 2) / 3) * 4];
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class DisplayFile {
/**
* @param args
& ......
Chapter 01
Getting Started
一、核心概念
1.什么叫类?
类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。
2.什么叫对象?
在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。
3.类的核心 ......
看过.NET基础的朋友可能对这个装箱和拆箱的概念并不陌生。首先,我们必须明确一点,在Java中,有两种截然不同的数据类型:值类型和引用类
型。值类型的数据不是对象,因而所占的内存和资源都相对较少,但是不能作为对象调用其toString()、hashCode()、
getClass()、equals()等等方法,也不能被直接加入到集合中;引用类型 ......