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
*/
相关文档:
RXTX是一个开源包,主要是在COMM开源包中做扩张,以前的COMM包只能在WINDOWS下面对串口或并口做操作,扩充后的RXTX可以在LINUX和MAC下对串口和并口做操作。 现在跨平台:
在RXTX网站下载JAR包和动态库
http://users.frii.com/jarvi/rxtx/download.html
下载后配置环境
Windows
拷贝RXTXcomm.jar 文件 ......
昨天开始就业班的课程就开始了,前几天张孝祥老师给我们讲了java的一些基础的东西,张老师的课知识量大,深入浅出,令人获益匪浅,接下来就用我理解的东西在这里和大家一起探讨一下。
sun公司在java1.5版本增加了不少新特性,例如:基本数据类型的自动装箱与拆箱、可变参数、增强for循环、枚举、 ......
PATH:
用来指定 java
虚拟机(JVM) 所在在目录,也就是我们最常用的用来编译java源程序的javac.exe 和用来执行 *.class 文件的
java.exe 这两个命令。以我的机器为例吧:我的 jdk 按装目录为 D:\jdk1.5.0_08(确切的说我的这个JDK不是安装
版本的,直接解压到 d:\ 下的 ,此时我的 path 就要这样设path= ......
自己学习Java已经有一个月左右了~~对一些java也有一些感受~~
当看到这篇文章时,发现还可以~~就转来和大家分享一下~~~
1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事?
答:Java是一种通用的,并发的,强类型的,面向对象的编程语言
(摘自Java规范第二版) JDK是Sun公司分发的免费Ja ......
1.简单线程创建
(1)实现Runnable接口,Runnable接口只有一个方法run:
public interface Runnable
{
void run();
}
创建类实现run方法
class MyRunnable implements Runnable
{
public void run()
{
/*任务代码*/
}
}
(2)创建对象
Runnable r = new MyRunnable();
(3)由Runnable创建一个Thread对象:
......