[添付ファイル一覧]
[全ページの添付ファイル一覧]
- decodeBase64AndDisp.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
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
| |
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);
}
|