添付ファイルの情報



[添付ファイル一覧] [全ページの添付ファイル一覧]

filedecodeBase64AndDisp.js
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323238_6465636F6465426173653634416E64446973702E6A73
ページ:Macro/投稿/228
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323238_6465636F6465426173653634416E64446973702E6A73
MD5ハッシュ値:69008d2f1bfbabba20cdff76fe941068
サイズ:2.1KB (2106 bytes)
Content-type:application/octet-stream
登録日時:2014/02/10 19:06:53
アクセス数:247
MD5ハッシュ値:69008d2f1bfbabba20cdff76fe941068
filedecodeBase64AndDisp.js
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
// Base64デコードして挿入
 
function int2hex(n,digits) {
    var hexchars="0123456789ABCDEF";
    var ret="";
    while(n>0 || digits>0) {
        ret=hexchars.charAt(n&0xf)+ret;
        n>>=4;
        digits--;
    }
    if(ret=="")return "0";
    return ret;
}
 
var input=GetSelectedString();
if(input.length>0) {
    var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    var outValue=new Array();
    var buf=0;
    var stat=0;
    for(var i=0;i<input.length;i++) {
        var now=b64chars.indexOf(input.charAt(i));
        if(now>=0) {
            switch(stat) {
                case 0:
                    buf=now<<2;
                    stat=1;
                    break;
                case 1:
                    outValue.push(buf|((now>>4)&0x03));
                    buf=(now<<4)&0xf0;
                    stat=2;
                    break;
                case 2:
                    outValue.push(buf|((now>>2)&0x0f));
                    buf=(now<<6)&0xc0;
                    stat=3;
                    break;
                case 3:
                    outValue.push(buf|(now&0x3f));
                    buf=0;
                    stat=0;
                    break;
            }
        }
    }
    var ln="\r\n";
    if(GetLineCode()==1)ln="\r";
    if(GetLineCode()==2)ln="\n";
    var posDigit=int2hex(outValue.length,0).length;
    var ret=ln;
    var charCode=GetCharCode();
    // ヘッダの作成
    for(var i=0;i<posDigit;i++)ret+=" ";
    ret+=" |";
    for(var i=0;i<16;i++)ret+="  "+int2hex(i,1);
    ret+=" ";
    for(var i=0;i<16;i++)ret+=int2hex(i,1);
    ret+=ln;
    for(var i=0;i<posDigit;i++)ret+="-";
    ret+="-+";
    for(var i=0;i<16;i++)ret+="---";
    ret+="-";
    for(var i=0;i<16;i++)ret+="-";
    ret+=ln;
    // データの書き出し
    for(var i=0;i<outValue.length;i+=16) {
        ret+=int2hex(i,posDigit)+" |";
        for(var j=0;j<16;j++) {
            ret+=" ";
            if(i+j<outValue.length) {
                ret+=int2hex(outValue[i+j],2);
            } else {
                ret+="  ";
            }
        }
        ret+=" ";
        for(var j=0;j<16;j++) {
            if(i+j<outValue.length) {
                var nowCode=outValue[i+j];
                if(0x20<=nowCode && nowCode<=0x7E) {
                    ret+=String.fromCharCode(nowCode);
                } else if(0xA1<=nowCode && nowCode<=0xDF) {
                    ret+="。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚".charAt(nowCode-0xA1);
                } else {
                    ret+=".";
                }
            }
        }
        ret+=ln;
    }
    InsText(ret);
    //TraceOut(ret,0);
}




    


    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS