有没有人知道除了com.idataconnect.lib.ascii85codec java项目之外,还有其他类似org.apache.commons.codec.binary.Base64类的项目?
发布于 2011-10-21 21:55:40
我发现这个项目似乎做到了这一点:http://pdfbox.apache.org/downloads.html#recent
下面的类进行编码和解码。代码审查和建议非常受欢迎:
import org.apache.pdfbox.io.ASCII85InputStream;
import org.apache.pdfbox.io.ASCII85OutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
public class Ascii85Coder {
public static byte[] decodeAscii85StringToBytes(String ascii85) {
ArrayList<Byte> list = new ArrayList<Byte>();
ByteArrayInputStream in_byte = null;
try {
in_byte = new ByteArrayInputStream(ascii85.getBytes("ascii"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ASCII85InputStream in_ascii = new ASCII85InputStream(in_byte);
try {
int r ;
while ((r = in_ascii.read()) != -1) {
list.add((byte) r);
}
} catch (IOException e) {
e.printStackTrace();
}
byte[] bytes = new byte[list.size()];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = list.get(i);
}
return bytes;
}
public static String encodeBytesToAscii85(byte[] bytes) {
ByteArrayOutputStream out_byte = new ByteArrayOutputStream();
ASCII85OutputStream out_ascii = new ASCII85OutputStream(out_byte);
try {
out_ascii.write(bytes);
out_ascii.flush();
} catch (IOException e) {
e.printStackTrace();
}
String res = "";
try {
res = out_byte.toString("ascii");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return res;
}
}发布于 2011-10-21 14:22:56
在java.net上有Ascii85实现。
https://stackoverflow.com/questions/7845261
复制相似问题