Base64

快过生蛋节了,俺送大家一段Base64的程序,入口函数是Encode(bytFile() as Byte),bytFile是一个Byte型的数组,返回一个字符串。对了,传入的数组不大于32767个元素(这一点没做什么较验,多了会出错哦!嘻嘻)
----------------------------------------------------------
Private m_bytIndex(0 To 63) As Byte

'****************************************************
'*                                                  *
'*-- To encode file data with Base64 method.        *
'*                                                  *
'****************************************************
Public Function Encode(bytFile() As Byte) As String
    
    Dim i As Long, j As Long
    Dim strRslt As String
    
    i = 0
    
    For i = 0 To UBound(bytFile) - ((UBound(bytFile) + 1) Mod 3) Step 3
        strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(i) And 252) / 4)))
        strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(i) And 3) * 16 + (bytFile(i + 1) And 240) / 16)))
        strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(i + 1) And 15) * 4 + (bytFile(i + 2) And 192) / 64)))
        strRslt = strRslt + Chr(m_bytIndex(Int(bytFile(i + 2) And 63)))
    Next i
    
    Select Case ((UBound(bytFile) + 1) Mod 3)
        Case 1
            strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(UBound(bytFile)) And 252) / 4)))
            strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(UBound(bytFile)) And 3) * 16)))
            strRslt = strRslt + "=="
        Case 2
            strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(UBound(bytFile) - 1) And 252) / 4)))
            strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(UBound(bytFile) - 1) And 3) * 16 + (bytFile(UBound(bytFile)) And 240) / 16)))
            strRslt = strRslt + Chr(m_bytIndex(Int((bytFile(UBound(bytFile)) And 15) * 4)))
            strRslt = strRslt + "="
    End Select
    Encode = strRslt
    
End Function

'****************************************************
'*                                                  *
'*-- Class Initialize to initialize the array of    *
'*   base64 coding.                                 *
'*                                                  *
'****************************************************
Private Sub Class_Initialize()
    
    m_bytIndex(0) = 65 'Asc("A")
    m_bytIndex(1) = 66 'Asc("B")
    m_bytIndex(2) = 67 'Asc("C")
    m_bytIndex(3) = 68 'Asc("D")
  &n

时间: 2024-10-18 10:20:21

Base64的相关文章

javascript如何解析base64图片数据 并且将图片显示在网页中

问题描述 javascript如何解析base64图片数据 并且将图片显示在网页中 最好是有详细的javascript解析base64的源代码(本人初学者请见谅),显示这一块儿 怎么获取javascript解析好的图片 麻烦各位大神了 急!急!急! 解决方案 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64DecodeChars =

url传递中文字符,特殊危险字符的解决方案(仅供参考)urldecode、base64

web开发的过程中,当我们需要在url中传递中文字符或是其它的html等特殊字符时,似乎总会碰到各种各样的小问题,因为不同的浏览器对他们的编码又不一样.对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlencode($text)一下. 但是对于一些很"危险"的字符,比如说html字符,甚至是SQL注入相关的字符,如果很明显的传给系统,出于安全考虑,系统一般都会把它们过滤掉的. 那么,如果我们需要保留这些危险字符,不被过滤,该这么办呢? 我想到的办法是先给它们 bas

用javascript实现Base64编码

javascript|编码 用javascript实现Base64编码-解决中文问题 因javascript求出来的是Unicode要转换成Ansi后才能对它进行Base64编码 UnicodeAnsi.js文件:把Unicode转成Ansi和把Ansi转换成Unicode 代码拷贝框//UnicodeAnsi.js文件//把Unicode转成Ansi和把Ansi转换成Unicodefunction UnicodeChr(){return '00A4,00A7,00A8,00B0,00B1,00

Base64在线编码解码实现代码 演示与下载

在线演示地址:gb2312版本 http://tools.jb51.net/tools/base64_decode-gb2312.phputf8版本 http://tools.jb51.net/tools/base64_decode-utf8.php复制代码 代码如下:<?php header('Content-Type: text/html; charset=gb2312'); $txt1 = stripslashes(trim( @$_POST['text1'])); $button = @

base64编码、解码函数

编码|函数 这是我看完几个base64编码.解码函数后自己改写的.因为,在中文操作系统的VBscript中,使用的是unicode字符集,所以很多base64编码.解码函数在理论上是正确的,但实际不能运行! 我加写了几个Unicode与Ansi编码转换的函数,现贴出来,请大家执教! 文件名称base64test.asp <% sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567

BASE64编码规则及C#实现

编码   一.编码规则      Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到2个0字节.并在最后编码完成后在结尾添加1到2个"=".  例:将对AB

图片上传,包含读取图片字节大小及长宽,及Base64转换

上传|转换 <form id="PicAdd" method="post" runat="server" enctype="multipart/form-data">    <input type="file" runat="server" id="Pic" NAME="Pic"></form>'++++++++

base64编码类------源代码(C#)

编码|源代码 using System; namespace shapBse64{ /// <summary> /// 有关base64编码算法的相关操作 ///By 自由奔腾(wgscd) /// </summary> public class SBase64 { public SBase64() { // // TODO: 在此处添加构造函数逻辑 // } //-----------------------------------------------------------

一个非常实用的Base64类

using System; namespace SClassLibrary.SEncoding{ /// <summary> /// 有关base64编码算法的相关操作 /// 作者:尹曙光 /// </summary> public class SBase64 { public SBase64() { // // TODO: 在此处添加构造函数逻辑 // } //-----------------------------------------------------------