<br />
<b>Warning</b>:  Undefined array key "HTTP_ACCEPT_LANGUAGE" in <b>/www/wwwroot/01xj.net/wp-content/plugins/wp-ue/main.php</b> on line <b>13</b><br />
{"id":321,"date":"2012-07-25T13:29:56","date_gmt":"2012-07-25T13:29:56","guid":{"rendered":"http:\/\/www.01xj.net\/0\/?p=321"},"modified":"2012-07-25T13:29:56","modified_gmt":"2012-07-25T13:29:56","slug":"enc-base64%e4%bd%8d%e5%8a%a0%e5%af%86%e7%a8%8b%e5%ba%8f%e5%8c%85%e6%8b%ac%e6%ba%90%e4%bb%a3%e7%a0%81%ef%bc%88%e6%94%af%e6%8c%81%e4%b8%ad%e6%96%87%e5%92%8c%e7%89%b9%e6%ae%8a%e7%ac%a6%e5%8f%b7%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.01xj.net\/?p=321","title":{"rendered":"Enc-Base64\u4f4d\u52a0\u5bc6\u7a0b\u5e8f\u5305\u62ec\u6e90\u4ee3\u7801\uff08\u652f\u6301\u4e2d\u6587\u548c\u7279\u6b8a\u7b26\u53f7\uff09"},"content":{"rendered":"<p>Enc-Base64\u4f4d\u52a0\u5bc6\u7a0b\u5e8f\u5305\u62ec\u6e90\u4ee3\u7801\uff08\u652f\u6301\u4e2d\u6587\u548c\u7279\u6b8a\u7b26\u53f7\uff09<\/p>\n<p>\u521b\u5efa\u4e00\u4e2a\u65b0\u7c7b\uff0c\u5373\u53ef\u8c03\u7528\u8be5\u7c7b\u7684\u52a0\u5bc6\u548c\u89e3\u5bc6\u65b9\u6cd5<\/p>\n<p>Option \u00a0 Explicit<\/p>\n<p>&#8216;Base64\u7f16\u7801\u51fd\u6570\uff1aBase64Encode<br \/>\n&#8216;Instr1 \u00a0 \u00a0 \u00a0 \u00a0 \u7f16\u7801\u524d\u5b57\u7b26\u4e32<br \/>\n&#8216;Outstr1 \u00a0 \u00a0 \u00a0 \u00a0 \u7f16\u7801\u540e\u5b57\u7b26\u4e32<br \/>\nPublic \u00a0 Function \u00a0 Base64Encode(InStr1 \u00a0 As \u00a0 String) \u00a0 As \u00a0 String<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 mInByte(3) \u00a0 As \u00a0 Byte, \u00a0 mOutByte(4) \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 myByte \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Integer, \u00a0 LenArray \u00a0 As \u00a0 Integer, \u00a0 j \u00a0 As \u00a0 Integer<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 myBArray() \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 OutStr1 \u00a0 As \u00a0 String<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 myBArray() \u00a0 = \u00a0 StrConv(InStr1, \u00a0 vbFromUnicode)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 LenArray \u00a0 = \u00a0 UBound(myBArray) \u00a0 + \u00a0 1<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 0 \u00a0 To \u00a0 LenArray \u00a0 Step \u00a0 3<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 LenArray \u00a0 &#8211; \u00a0 i \u00a0 = \u00a0 0 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Exit \u00a0 For<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 LenArray \u00a0 &#8211; \u00a0 i \u00a0 = \u00a0 2 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(0) \u00a0 = \u00a0 myBArray(i)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(1) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Base64EncodeByte \u00a0 mInByte, \u00a0 mOutByte, \u00a0 2<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 LenArray \u00a0 &#8211; \u00a0 i \u00a0 = \u00a0 1 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(0) \u00a0 = \u00a0 myBArray(i)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Base64EncodeByte \u00a0 mInByte, \u00a0 mOutByte, \u00a0 1<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(0) \u00a0 = \u00a0 myBArray(i)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(1) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(2) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 2)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Base64EncodeByte \u00a0 mInByte, \u00a0 mOutByte, \u00a0 3<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 For \u00a0 j \u00a0 = \u00a0 0 \u00a0 To \u00a0 3<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 OutStr1 \u00a0 = \u00a0 OutStr1 \u00a0 &amp; \u00a0 Chr(mOutByte(j))<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Next \u00a0 j<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Next \u00a0 i<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Base64Encode \u00a0 = \u00a0 OutStr1<br \/>\nEnd \u00a0 Function<\/p>\n<p>Private \u00a0 Sub \u00a0 Base64EncodeByte(mInByte() \u00a0 As \u00a0 Byte, \u00a0 mOutByte() \u00a0 As \u00a0 Byte, \u00a0 Num \u00a0 As \u00a0 Integer)<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 tByte \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Integer<\/p>\n<p>\u00a0 \u00a0 \u00a0 If \u00a0 Num \u00a0 = \u00a0 1 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(1) \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(2) \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 ElseIf \u00a0 Num \u00a0 = \u00a0 2 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(2) \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 mInByte(0) \u00a0 And \u00a0 &amp;HFC<br \/>\n\u00a0 \u00a0 \u00a0 mOutByte(0) \u00a0 = \u00a0 tByte \u00a0 \/ \u00a0 4<br \/>\n\u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 ((mInByte(0) \u00a0 And \u00a0 &amp;H3) \u00a0 * \u00a0 16) \u00a0 + \u00a0 (mInByte(1) \u00a0 And \u00a0 &amp;HF0) \u00a0 \/ \u00a0 16<br \/>\n\u00a0 \u00a0 \u00a0 mOutByte(1) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 ((mInByte(1) \u00a0 And \u00a0 &amp;HF) \u00a0 * \u00a0 4) \u00a0 + \u00a0 ((mInByte(2) \u00a0 And \u00a0 &amp;HC0) \u00a0 \/ \u00a0 64)<br \/>\n\u00a0 \u00a0 \u00a0 mOutByte(2) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 (mInByte(2) \u00a0 And \u00a0 &amp;H3F)<br \/>\n\u00a0 \u00a0 \u00a0 mOutByte(3) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 0 \u00a0 To \u00a0 3<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 mOutByte(i) \u00a0 &gt; = \u00a0 0 \u00a0 And \u00a0 mOutByte(i) \u00a0 &lt;= \u00a0 25 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(i) \u00a0 = \u00a0 mOutByte(i) \u00a0 + \u00a0 Asc( &#8220;A &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mOutByte(i) \u00a0 &gt; = \u00a0 26 \u00a0 And \u00a0 mOutByte(i) \u00a0 &lt;= \u00a0 51 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(i) \u00a0 = \u00a0 mOutByte(i) \u00a0 &#8211; \u00a0 26 \u00a0 + \u00a0 Asc( &#8220;a &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mOutByte(i) \u00a0 &gt; = \u00a0 52 \u00a0 And \u00a0 mOutByte(i) \u00a0 &lt;= \u00a0 61 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(i) \u00a0 = \u00a0 mOutByte(i) \u00a0 &#8211; \u00a0 52 \u00a0 + \u00a0 Asc( &#8220;0 &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mOutByte(i) \u00a0 = \u00a0 62 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(i) \u00a0 = \u00a0 Asc( &#8220;+ &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(i) \u00a0 = \u00a0 Asc( &#8220;\/ &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 Next \u00a0 i<br \/>\n\u00a0 \u00a0 \u00a0 If \u00a0 Num \u00a0 = \u00a0 1 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(2) \u00a0 = \u00a0 Asc( &#8220;= &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(3) \u00a0 = \u00a0 Asc( &#8220;= &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 ElseIf \u00a0 Num \u00a0 = \u00a0 2 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mOutByte(3) \u00a0 = \u00a0 Asc( &#8220;= &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\nEnd \u00a0 Sub<\/p>\n<p>Public \u00a0 Function \u00a0 Base64Decode(InStr1 \u00a0 As \u00a0 String) \u00a0 As \u00a0 String<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 mInByte(4) \u00a0 As \u00a0 Byte, \u00a0 mOutByte(3) \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Integer, \u00a0 LenArray \u00a0 As \u00a0 Integer, \u00a0 j \u00a0 As \u00a0 Integer<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 myBArray() \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 OutStr1 \u00a0 As \u00a0 String<br \/>\n\u00a0 \u00a0 \u00a0 Dim \u00a0 tmpArray() \u00a0 As \u00a0 Byte<\/p>\n<p>\u00a0 \u00a0 \u00a0 myBArray() \u00a0 = \u00a0 StrConv(InStr1, \u00a0 vbFromUnicode)<br \/>\n\u00a0 \u00a0 \u00a0 LenArray \u00a0 = \u00a0 UBound(myBArray)<br \/>\n\u00a0 \u00a0 \u00a0 ReDim \u00a0 tmpArray(((LenArray \u00a0 + \u00a0 1) \u00a0 \/ \u00a0 4) \u00a0 * \u00a0 3)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 j \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 0 \u00a0 To \u00a0 LenArray \u00a0 Step \u00a0 4<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 LenArray \u00a0 &#8211; \u00a0 i \u00a0 = \u00a0 0 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Exit \u00a0 For<br \/>\nElse<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(0) \u00a0 = \u00a0 myBArray(i)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(1) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(2) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 2)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(3) \u00a0 = \u00a0 myBArray(i \u00a0 + \u00a0 3)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Base64DecodeByte \u00a0 mInByte, \u00a0 mOutByte, \u00a0 4<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmpArray(j \u00a0 * \u00a0 3) \u00a0 = \u00a0 mOutByte(0)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmpArray(j \u00a0 * \u00a0 3 \u00a0 + \u00a0 1) \u00a0 = \u00a0 mOutByte(1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmpArray(j \u00a0 * \u00a0 3 \u00a0 + \u00a0 2) \u00a0 = \u00a0 mOutByte(2)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 j \u00a0 = \u00a0 j \u00a0 + \u00a0 1<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Next \u00a0 i<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Base64Decode \u00a0 = \u00a0 BinaryToString(tmpArray)<br \/>\nEnd \u00a0 Function<\/p>\n<p>Private \u00a0 Sub \u00a0 Base64DecodeByte(mInByte() \u00a0 As \u00a0 Byte, \u00a0 mOutByte() \u00a0 As \u00a0 Byte, \u00a0 ByteNum \u00a0 As \u00a0 Integer)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 tByte \u00a0 As \u00a0 Byte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Integer<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 ByteNum \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 0 \u00a0 To \u00a0 3<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 mInByte(i) \u00a0 &gt; = \u00a0 Asc( &#8220;A &#8220;) \u00a0 And \u00a0 mInByte(i) \u00a0 &lt;= \u00a0 Asc( &#8220;Z &#8220;) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 mInByte(i) \u00a0 &#8211; \u00a0 Asc( &#8220;A &#8220;)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mInByte(i) \u00a0 &gt; = \u00a0 Asc( &#8220;a &#8220;) \u00a0 And \u00a0 mInByte(i) \u00a0 &lt;= \u00a0 Asc( &#8220;z &#8220;) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 mInByte(i) \u00a0 &#8211; \u00a0 Asc( &#8220;a &#8220;) \u00a0 + \u00a0 26<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mInByte(i) \u00a0 &gt; = \u00a0 Asc( &#8220;0 &#8220;) \u00a0 And \u00a0 mInByte(i) \u00a0 &lt;= \u00a0 Asc( &#8220;9 &#8220;) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 mInByte(i) \u00a0 &#8211; \u00a0 Asc( &#8220;0 &#8220;) \u00a0 + \u00a0 52<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mInByte(i) \u00a0 = \u00a0 Asc( &#8220;+ &#8220;) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 62<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ElseIf \u00a0 mInByte(i) \u00a0 = \u00a0 Asc( &#8220;\/ &#8220;) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 63<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else \u00a0 &#8216; &#8220;= &#8221;<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ByteNum \u00a0 = \u00a0 ByteNum \u00a0 + \u00a0 1<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 mInByte(i) \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 Next \u00a0 i<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 &#8216;\u53d6\u524d\u516d\u4f4d<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 (mInByte(0) \u00a0 And \u00a0 &amp;H3F) \u00a0 * \u00a0 4 \u00a0 + \u00a0 (mInByte(1) \u00a0 And \u00a0 &amp;H30) \u00a0 \/ \u00a0 16<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 &#8216;0\u7684\u516d\u4f4d\u548c1\u7684\u524d\u4e24\u4f4d<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 mOutByte(0) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 (mInByte(1) \u00a0 And \u00a0 &amp;HF) \u00a0 * \u00a0 16 \u00a0 + \u00a0 (mInByte(2) \u00a0 And \u00a0 &amp;H3C) \u00a0 \/ \u00a0 4<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 &#8216;1\u7684\u540e\u56db\u4f4d\u548c2\u7684\u524d\u56db\u4f4d<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 mOutByte(1) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 tByte \u00a0 = \u00a0 (mInByte(2) \u00a0 And \u00a0 &amp;H3) \u00a0 * \u00a0 64 \u00a0 + \u00a0 (mInByte(3) \u00a0 And \u00a0 &amp;H3F)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 mOutByte(2) \u00a0 = \u00a0 tByte<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 &#8216;2\u7684\u540e\u4e24\u4f4d\u548c3\u7684\u516d\u4f4d<br \/>\nEnd \u00a0 Sub<br \/>\nPrivate \u00a0 Function \u00a0 BinaryToString(ByVal \u00a0 BinaryStr \u00a0 As \u00a0 Variant) \u00a0 As \u00a0 String \u00a0 &#8216;\u4e8c\u8fdb\u5236\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32<br \/>\n\u00a0 \u00a0 Dim \u00a0 lnglen \u00a0 As \u00a0 Long<br \/>\n\u00a0 \u00a0 Dim \u00a0 tmpBin \u00a0 As \u00a0 Variant<br \/>\n\u00a0 \u00a0 Dim \u00a0 strC \u00a0 As \u00a0 String<br \/>\n\u00a0 \u00a0 Dim \u00a0 skipflag \u00a0 As \u00a0 Long<br \/>\n\u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Long<br \/>\n\u00a0 \u00a0 skipflag \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 strC \u00a0 = \u00a0 &#8221; &#8221;<br \/>\n\u00a0 \u00a0<br \/>\n\u00a0 \u00a0 If \u00a0 Not \u00a0 IsNull(BinaryStr) \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lnglen \u00a0 = \u00a0 LenB(BinaryStr)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 1 \u00a0 To \u00a0 lnglen<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 skipflag \u00a0 = \u00a0 0 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmpBin \u00a0 = \u00a0 MidB(BinaryStr, \u00a0 i, \u00a0 1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 AscB(tmpBin) \u00a0 &gt; \u00a0 127 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 strC \u00a0 = \u00a0 strC \u00a0 &amp; \u00a0 Chr(AscW(MidB(BinaryStr, \u00a0 i \u00a0 + \u00a0 1, \u00a0 1) \u00a0 &amp; \u00a0 tmpBin))<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 skipflag \u00a0 = \u00a0 1<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 strC \u00a0 = \u00a0 strC \u00a0 &amp; \u00a0 Chr(AscB(tmpBin))<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 skipflag \u00a0 = \u00a0 0<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Next<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 BinaryToString \u00a0 = \u00a0 strC<br \/>\nEnd \u00a0 Function<\/p>\n<p>Private \u00a0 Function \u00a0 StringToBinary(ByVal \u00a0 VarString \u00a0 As \u00a0 String) \u00a0 As \u00a0 Variant \u00a0 &#8216;\u5b57\u7b26\u4e32\u8f6c\u6210\u4e8c\u8fdb\u5236<br \/>\n\u00a0 \u00a0 Dim \u00a0 strBin \u00a0 As \u00a0 Variant<br \/>\n\u00a0 \u00a0 Dim \u00a0 varchar \u00a0 As \u00a0 Variant<br \/>\n\u00a0 \u00a0 Dim \u00a0 varasc \u00a0 As \u00a0 Long<br \/>\n\u00a0 \u00a0 Dim \u00a0 varlow, \u00a0 varhigh<br \/>\n\u00a0 \u00a0 Dim \u00a0 i \u00a0 As \u00a0 Long<br \/>\n\u00a0 \u00a0 strBin \u00a0 = \u00a0 &#8221; &#8221;<br \/>\n\u00a0 \u00a0<br \/>\n\u00a0 \u00a0 For \u00a0 i \u00a0 = \u00a0 1 \u00a0 To \u00a0 Len(VarString)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 varchar \u00a0 = \u00a0 Mid(VarString, \u00a0 i, \u00a0 1)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 varasc \u00a0 = \u00a0 Asc(varchar)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 varasc \u00a0 &lt; \u00a0 0 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 varasc \u00a0 = \u00a0 varasc \u00a0 + \u00a0 65535<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 If \u00a0 varasc \u00a0 &gt; \u00a0 255 \u00a0 Then<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 varlow \u00a0 = \u00a0 Left(Hex(Asc(varchar)), \u00a0 2)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 varhigh \u00a0 = \u00a0 Right(Hex(Asc(varchar)), \u00a0 2)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 strBin \u00a0 = \u00a0 strBin \u00a0 &amp; \u00a0 ChrB( &#8220;&amp;H &#8221; \u00a0 &amp; \u00a0 varlow) \u00a0 &amp; \u00a0 ChrB( &#8220;&amp;H &#8221; \u00a0 &amp; \u00a0 varhigh)<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Else<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 strBin \u00a0 = \u00a0 strBin \u00a0 &amp; \u00a0 ChrB(AscB(varchar))<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 End \u00a0 If<br \/>\n\u00a0 \u00a0 Next<br \/>\n\u00a0 \u00a0 StringToBinary \u00a0 = \u00a0 strBin<br \/>\nEnd \u00a0 Function<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enc-Base64\u4f4d\u52a0\u5bc6\u7a0b\u5e8f\u5305\u62ec\u6e90\u4ee3\u7801\uff08\u652f\u6301\u4e2d\u6587\u548c\u7279\u6b8a\u7b26\u53f7\uff09 \u521b\u5efa&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[],"class_list":["post-321","post","type-post","status-publish","format-standard","hentry","category-vb"],"_links":{"self":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=321"}],"version-history":[{"count":1,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":322,"href":"https:\/\/www.01xj.net\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions\/322"}],"wp:attachment":[{"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.01xj.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}