亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? base64decoder.java

?? 數(shù)字圖書館的互操作接口
?? JAVA
字號:
// Base64Decoder.java
// $Id: Base64Decoder.java,v 1.1 1999/07/17 01:53:29 melnik Exp $
// (c) COPYRIGHT MIT and INRIA, 1996.
// Please first read the full copyright statement in file COPYRIGHT.html

package org.w3c.tools.codec ;

import java.io.* ;

/**
 * Decode a BASE64 encoded input stream to some output stream.
 * This class implements BASE64 decoding, as specified in the
 * <a href="http://ds.internic.net/rfc/rfc1521.txt">MIME specification</a>.
 * @see w3c.tools.code.Base64Encoder
 */

public class Base64Decoder {
    private static final int BUFFER_SIZE = 1024 ;

    InputStream in       = null ;
    OutputStream out     = null ;
    boolean      stringp = false ;

    private void printHex (int x) {
	int h = (x&0xf0) >> 4 ;
	int l = (x&0x0f) ;
	System.out.print
	    ((new Character((char)((h>9) ? 'A'+h-10 : '0'+h))).toString()
	     +(new Character((char)((l>9) ? 'A'+l-10 : '0'+l))).toString());
    }

    private void printHex (byte buf[], int off, int len) {
	while (off < len) {
	    printHex (buf[off++]) ;
	    System.out.print (" ") ;
	}
	System.out.println ("") ;
    }

    private void printHex (String s) {
	byte bytes[] = s.getBytes () ;
	printHex (bytes, 0, bytes.length) ;
    }


    private final int get1 (byte buf[], int off) {
	return ((buf[off] & 0x3f) << 2) | ((buf[off+1] & 0x30) >>> 4) ;
    }

    private final int get2 (byte buf[], int off) {
	return ((buf[off+1] & 0x0f) << 4) | ((buf[off+2] &0x3c) >>> 2) ;
    }

    private final int get3 (byte buf[], int off) {
	return ((buf[off+2] & 0x03) << 6) | (buf[off+3] & 0x3f) ;
    }

    private final int check (int ch) {
	if ((ch >= 'A') && (ch <= 'Z')) {
	    return ch - 'A' ;
	} else if ((ch >= 'a') && (ch <= 'z')) {
	    return ch - 'a' + 26 ;
	} else if ((ch >= '0') && (ch <= '9')) {
	    return ch - '0' + 52 ;
	} else {
	    switch (ch) {
	      case '=':
		  return 65 ;
	      case '+':
		  return 62 ;
	      case '/':
		  return 63 ;
	      default:
		  return -1 ;
	    }
	}
    }

    /**
     * Do the actual decoding.
     * Process the input stream by decoding it and emiting the resulting bytes
     * into the output stream.
     * @exception IOException If the input or output stream accesses failed.
     * @exception Base64FormatException If the input stream is not compliant
     *    with the BASE64 specification.
     */

    public void process ()
	throws IOException, Base64FormatException
    {
	byte buffer[] = new byte[BUFFER_SIZE] ;
	byte chunk[]  = new byte[4] ;
	int  got      = -1 ;
	int  ready    = 0 ;

    fill:
	while ((got = in.read(buffer)) > 0) {
	    int skiped = 0 ;
	    while ( skiped < got ) {
		// Check for un-understood characters:
		while ( ready < 4 ) {
		    if ( skiped >= got )
			continue fill ;
		    int ch = check (buffer[skiped++]) ;
		    if ( ch >= 0 )
			chunk[ready++] = (byte) ch ;
		}
		if ( chunk[2] == 65 ) {
		    out.write(get1(chunk, 0));
		    return ;
		} else if ( chunk[3] == 65 ) {
		    out.write(get1(chunk, 0)) ;
		    out.write(get2(chunk, 0)) ;
		    return ;
		} else {
		    out.write(get1(chunk, 0)) ;
		    out.write(get2(chunk, 0)) ;
		    out.write(get3(chunk, 0)) ;
		}
		ready = 0 ;
	    }
	}
	if ( ready != 0 )
	    throw new Base64FormatException ("Invalid length.") ;
	out.flush() ;
    }

    /**
     * Do the decoding, and return a String.
     * This methods should be called when the decoder is used in
     * <em>String</em> mode. It decodes the input string to an output string
     * that is returned.
     * @exception RuntimeException If the object wasn't constructed to
     *    decode a String.
     * @exception Base64FormatException If the input string is not compliant
     *     with the BASE64 specification.
     */

    public String processString ()
	throws Base64FormatException
    {
	if ( ! stringp )
	    throw new RuntimeException (this.getClass().getName()
					+ "[processString]"
					+ "invalid call (not a String)");
	try {
	    process() ;
	} catch (IOException e) {
	}
	return ((ByteArrayOutputStream) out).toString() ;
    }

    /**
     * Create a decoder to decode a String.
     * @param input The string to be decoded.
     */

    public Base64Decoder (String input) {
	byte bytes[] = input.getBytes () ;
	this.stringp = true ;
	this.in      = new ByteArrayInputStream(bytes) ;
	this.out     = new ByteArrayOutputStream () ;
    }

    /**
     * Create a decoder to decode a stream.
     * @param in The input stream (to be decoded).
     * @param out The output stream, to write decoded data to.
     */

    public Base64Decoder (InputStream in, OutputStream out) {
	this.in = in ;
	this.out = out ;
	this.stringp = false ;
    }

    /**
     * Test the decoder.
     * Run it with one argument: the string to be decoded, it will print out
     * the decoded value.
     */

    public static void main (String args[]) {
	if (  true ) {
	    try {
		Base64Decoder b = new Base64Decoder ("YWpmYXM7N2xka2UsamFzOzdsZGssamFzO2Rsa2pzYTtkZmxranNhZGY7bGssanNhZGY7bGthc2pk\n\r" +
"Zjtsa2FqczthbGtzamQ7YTdzbGtqOzdzYWxrZGVqZjs3c2Fsa2RlamY7czdhZGtqd3Bsa2pvaWV1\n\r" +
"b2VpcnVqYWtsZGVqZmxhc2RrZWpmbGFzZGZqb2FzaWRqZmFzZG9pamFzZGZvYXNraWhkamZhc29p\n\r" +
"ZGZqd2Vqam56MTIzMjQ1ajgzMmQyMzI0MmRzMjNlMjM0c2RkYTNxZmRhc2QyM2RmMzQyZWV3ZjIz\n\r" +
"cjQ1Zg==") ;
		System.out.println ("["+b.processString()+"]") ;
	    } catch (Base64FormatException e) {
		System.out.println ("Invalid Base64 format !") ;
		System.exit (1) ;
	    }
	} else if ((args.length == 2) && (args[0].equals("-f"))) {
	    try {
		FileInputStream in = new FileInputStream(args[1]) ;
		Base64Decoder b = new Base64Decoder (in, System.out);
		b.process();
	    } catch (Exception ex) {
		System.out.println("error: " + ex.getMessage());
		System.exit(1) ;
	    }
	} else {
	    System.out.println("Base64Decoder [strong] [-f file]");
	}
	System.exit (0) ;
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品国产露脸对白| 中文字幕一区二区在线观看| 午夜天堂影视香蕉久久| 色婷婷亚洲综合| 亚洲人成网站影音先锋播放| 色偷偷成人一区二区三区91| 亚洲国产精品一区二区久久 | 午夜精品一区二区三区免费视频| 欧美午夜一区二区三区 | 亚洲蜜臀av乱码久久精品| 一本色道亚洲精品aⅴ| 亚洲chinese男男1069| 777午夜精品视频在线播放| 久久国内精品自在自线400部| 精品久久久久久久久久久久久久久久久 | 99综合电影在线视频| 依依成人综合视频| 91精品久久久久久久久99蜜臂| 免费观看久久久4p| 中日韩av电影| 欧美日本免费一区二区三区| 久草这里只有精品视频| 国产精品免费观看视频| 日本乱人伦一区| 琪琪久久久久日韩精品| 欧美激情综合网| 欧美伊人久久久久久久久影院 | 日韩免费一区二区三区在线播放| 国产成人免费在线观看不卡| 亚洲综合在线五月| 精品国产麻豆免费人成网站| 91视频观看免费| 不卡一二三区首页| 亚洲一区影音先锋| 久久久久高清精品| 欧美日本视频在线| 99视频在线观看一区三区| 日韩在线a电影| 国产精品久久久久精k8| 91精品欧美一区二区三区综合在 | 欧美日韩激情在线| 国产精品一区一区三区| 亚洲第一在线综合网站| 国产清纯在线一区二区www| 欧美日韩精品福利| 99综合电影在线视频| 激情久久久久久久久久久久久久久久| 最新日韩在线视频| 久久夜色精品一区| 正在播放亚洲一区| 91免费观看在线| 国产精品亚洲а∨天堂免在线| 亚洲电影欧美电影有声小说| 国产精品全国免费观看高清| 日韩视频在线永久播放| 色婷婷综合久久久中文一区二区| 国产精品综合在线视频| 日韩—二三区免费观看av| 7777精品伊人久久久大香线蕉完整版| 在线不卡免费av| 亚洲视频中文字幕| 91久久精品一区二区| 欧美久久久久中文字幕| 日本二三区不卡| 亚洲第一在线综合网站| 国产精品私人影院| 欧美一区二区三区四区久久| a亚洲天堂av| 日韩电影免费一区| 国产欧美日韩三级| 欧美美女一区二区在线观看| 奇米亚洲午夜久久精品| 亚洲一区二区高清| 国产精品久久久久影视| 国产午夜精品久久久久久久 | 成人免费观看视频| 精品一区免费av| 日本美女一区二区三区| 亚洲国产日韩综合久久精品| 国产美女精品在线| 伊人夜夜躁av伊人久久| 欧美午夜影院一区| 99久久久久久99| 国产在线一区二区| 精品国产麻豆免费人成网站| 日本怡春院一区二区| 久久综合狠狠综合久久综合88 | 一区二区三区四区乱视频| 色丁香久综合在线久综合在线观看| 成人av资源下载| 日本欧美韩国一区三区| 日韩一二三区视频| 日韩欧美国产一区在线观看| av电影在线观看一区| 美国欧美日韩国产在线播放| 亚洲男女一区二区三区| 久久综合九色综合97婷婷女人 | 色播五月激情综合网| 2020日本不卡一区二区视频| 欧美一区二区大片| 午夜精品久久久久久久久| 久久激情五月激情| 亚洲人亚洲人成电影网站色| 亚洲日本免费电影| 一区二区三区产品免费精品久久75| 亚洲一二三四久久| 久久精品国内一区二区三区| 国产露脸91国语对白| av亚洲精华国产精华精华| 欧洲精品一区二区| 欧美成人vr18sexvr| 蜜臀精品一区二区三区在线观看 | 久久伊人蜜桃av一区二区| 91久久国产综合久久| 国产一区二区久久| 成人免费看的视频| 成人aa视频在线观看| 国内精品写真在线观看| 成人高清视频在线| 欧美精品一二三区| 久久影院午夜片一区| 亚洲视频小说图片| 免费一区二区视频| 99精品国产热久久91蜜凸| 欧美精品v国产精品v日韩精品| 久久九九久久九九| 亚洲成人资源在线| 成人教育av在线| 欧美一卡2卡3卡4卡| 最好看的中文字幕久久| 99久久精品免费看国产 | 国产福利一区在线| 色综合久久综合| 日韩精品一区二区三区在线| 亚洲私人黄色宅男| 韩国成人福利片在线播放| 色狠狠色噜噜噜综合网| 精品国产不卡一区二区三区| 一区二区三区免费看视频| 久久 天天综合| 欧美二区三区的天堂| 国产精品国产三级国产专播品爱网| 蜜桃视频一区二区| 欧美性色aⅴ视频一区日韩精品| 日本一区二区三区高清不卡| 奇米一区二区三区| 欧美日韩成人一区二区| 亚洲天堂2014| 国产综合色在线| 日韩一区二区电影在线| 亚洲一区av在线| 99久久久久免费精品国产| 国产欧美综合在线观看第十页| 看电影不卡的网站| 欧美群妇大交群的观看方式| 亚洲最大成人网4388xx| 色久优优欧美色久优优| 国产精品国模大尺度视频| 国产精品1024久久| 精品日韩一区二区| 九九久久精品视频| 欧美一级生活片| 奇米影视一区二区三区小说| 88在线观看91蜜桃国自产| 洋洋av久久久久久久一区| 在线一区二区三区四区| 一区二区三区在线视频免费 | 91毛片在线观看| 中文字幕一区二区在线观看| 成人18视频日本| 中文字幕亚洲在| 国产91对白在线观看九色| 国产亚洲人成网站| 国产成人免费在线观看| 欧美激情一区二区在线| 成人性视频免费网站| 国产精品高潮呻吟久久| 99久久精品国产导航| 亚洲天堂精品视频| 色www精品视频在线观看| 亚洲三级久久久| 欧美亚洲综合另类| 天天操天天干天天综合网| 91精品一区二区三区久久久久久| 蜜臀99久久精品久久久久久软件| 日韩一级在线观看| 国产精品羞羞答答xxdd| 国产精品理论在线观看| 91久久精品网| 蜜臀久久99精品久久久久久9| 精品国产乱码久久久久久牛牛| 国产精品66部| 亚洲欧洲精品成人久久奇米网| 色婷婷综合在线| 毛片一区二区三区| 亚洲国产高清不卡| 欧美性色综合网| 国产一区999| 亚洲女女做受ⅹxx高潮| 在线综合视频播放|