易截截图软件、单文件、免安装、纯绿色、仅160KB

base64 编解码的 Java 实现

/**
* Base64Util for Java
* cheungmine
* 2009-11-8
*/
public class Base64Util {
/**
* @param args
*/
public static void main(String[] args)
{
// 源字节数组
int cb = 0;
System.out.print("源字节数组: ");

byte in[] = new byte[100];
in[cb++]='1';
in[cb++]='2';
in[cb++]='3';
in[cb++]='4';
in[cb++]='5';

System.out.write(in, 0, cb);

// 计算编码需要的输出字节尺寸
int cbOut = encodeString( in, cb, null, 0);

// 为输出分配数组
byte out[] = new byte[cbOut];

// 开始编码
encodeString( in, cb, out, 0);

// 输出编码内容
System.out.print("\n编码后内容: ");
System.out.write(out, 0, cbOut);

// 计算解码需要的字节
int cbDec = decodeString(out, cbOut, null);

// 分配解码数组
byte dec[] = new byte[cbDec];

// 开始解码
decodeString(out, cbOut, dec);

// 输出解码结果, 这个结果和输出应该一致
System.out.print("\n解码的结果: ");
System.out.write(dec, 0, cbDec);
}

/**
* Translation Table as described in RFC1113
*/
static String cb64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
/**
* Translation Table to decode (created by author)
*/
static String cd64="|$$$}rstuvwxyz{$$$$$$$>?@ABCDEFGHIJKLMNOPQRSTUVW$$$$$$XYZ[\\]^_`abcdefghijklmnopq";
/**
* encodeBlock
*
* encode 3 8-bit binary bytes (in) as 4 '6-bit' characters (out)
*/
static void encodeBlock( byte in[], byte out[], int len )
{
out[0] = (byte) cb64.charAt( in[0] >> 2 );
out[1] = (byte) cb64.charAt( ((in[0] & 0x03) << 4) | ((in[1] & 0xf0) >> 4) );
out[2] = (byte) (len > 1 ? cb64.charAt( ((in[1] & 0x0f) << 2) | ((in[2] & 0xc0) >> 6) ) : '=');
out[3] = (byte) (len > 2 ? cb64.charAt( in[2] & 0x3f ) : '=');
}

/**
* decodeBlock
*
* decode 4 '6-bit' characters into 3 8-bit binary bytes
*/


相关文档:

Java中方法命名经验

Java中方法命名一般是:动词/动词性词组,首字母小写,中间单词的首字母大写,其它字母小写。
尽量应用简单的、常用的单词,示例:
get/set                          first/last
add/remove& ......

JAVA CLASSPATH 和PATH的区别

 
PATH:
 
用来指定 java
虚拟机(JVM) 所在在目录,也就是我们最常用的用来编译java源程序的javac.exe 和用来执行 *.class 文件的
java.exe 这两个命令。以我的机器为例吧:我的 jdk 按装目录为 D:\jdk1.5.0_08(确切的说我的这个JDK不是安装
版本的,直接解压到 d:\ 下的 ,此时我的 path 就要这样设path= ......

Java中Calendar和Date的一些使用用法技巧

1. 如果已经知道某个地点的时区,年,月,日,时,分,秒,希望得到转换后的本系统时间,可以采用如下的方法:
方法:假设时区是GMT+08:00,,年是2009年,月是11月,日是7日,时是10时,分是50分,秒是30。
public class Time {
 
 public static void main(String[] args) {
  TimeZone tz = Tim ......

java中替换问号

String srt="abc?abc";
str.replaceAll("?", "#");
会提示这样的错误
Dangling meta character '?' near index 0
?
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compi ......

java自学之路


JAVA自学之路——马士兵
 2007年11月06日 星期二 05:47 P.M.[原创 - 尚学堂科技 - 马士兵老师]
 
 JAVA自学之路 一:学会选择
 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html]
 
 为了就业,不少同学参加各种各样的培训。
 决心做软件的,大多数人 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号