zoukankan      html  css  js  c++  java
  • Base64和StrToByte

     1 Function Base64Encode(inData As StringAs String
     2     Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
     3     Dim cOut As String, sOut As String, i As Long
     4     Dim Bytes() As Byte
     5     Dim t As String
     6     Dim iLen As Long
     7     Dim sGroup As String
     8     t = StrConv(inData & "..", vbFromUnicode)
     9     Bytes = t
    10     iLen = UBound(Bytes) - 2
    11     Bytes(iLen + 1= 0
    12     Bytes(iLen + 2= 0
    13     sOut = ""
    14     For i = 0 To iLen Step 3
    15         sGroup = Oct(&H10000 * CLng(Bytes(i)) + &H100 * CLng(Bytes(i + 1)) + Bytes(i + 2))
    16         sGroup = String(8 - Len(sGroup), "0"& sGroup
    17         sOut = sOut + Mid(Base64, CLng("&o" & Mid(sGroup, 12)) + 11+ Mid(Base64, CLng("&o" & Mid(sGroup, 32)) + 11+ Mid(Base64, CLng("&o" & Mid(sGroup, 52)) + 11+ Mid(Base64, CLng("&o" & Mid(sGroup, 72)) + 11)
    18     Next
    19     Select Case iLen Mod 3
    20         Case 0:
    21             sOut = Left(sOut, Len(sOut) - 2+ "=="
    22         Case 1:
    23             sOut = Left(sOut, Len(sOut) - 1+ "="
    24     End Select
    25     Base64Encode = sOut
    26 End Function
    27 
    28 
    29 
    30  'StrToByte  
    31  Function StrToByte(s As String)
    32 Dim Bytes() As Byte
    33 Dim t
    34 = StrConv(s, vbFromUnicode)
    35 Bytes = t
    36 StrToByte = Bytes
    37 End Function 
    38 
    39 
  • 相关阅读:
    P2018 消息传递[dp]
    P1436 棋盘分割[dp]
    一条线段引发的思考
    浅谈树上差分
    P2680 运输计划[二分+LCA+树上差分]
    P1600 天天爱跑步[桶+LCA+树上差分]
    P4560 [IOI2014]Wall 砖墙
    P1311 选择客栈[模拟]
    P1314 聪明的质监员[二分答案]
    Linux snmp导入MIB库
  • 原文地址:https://www.cnblogs.com/xxaxx/p/1635330.html
Copyright © 2011-2022 走看看