`
zhongxun20
  • 浏览: 6300 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

大家帮个忙,怎么解析这个base64编码

阅读更多
/**
* <p>Title: base64编码</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: atdm</p>
*
* @author zhongxun
* @version 1.0
*/
public class BASE64Encoder {

        private static char[] codec_table = { 'A', 'B', 'C', 'D', 'E', 'F', 'G',
                'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
                'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
                'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
                'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6',
                '7', '8', '9', '+', '/' };

        public BASE64Encoder() {

        }

        public String encode(byte[] a) {
            int totalBits = a.length * 8;
            int nn = totalBits % 6;
            int curPos = 0;// process bits
            StringBuffer toReturn = new StringBuffer();
            while (curPos < totalBits) {
                int bytePos = curPos / 8;
                switch (curPos % {
                case 0:
                    toReturn.append(codec_table[(a[bytePos] & 0xfc) >> 2]);
                    break;
                case 2:

                    toReturn.append(codec_table[(a[bytePos] & 0x3f)]);
                    break;
                case 4:
                    if (bytePos == a.length - 1) {
                        toReturn
                                .append(codec_table[((a[bytePos] & 0x0f) << 2) & 0x3f]);
                    } else {
                        int pos = (((a[bytePos] & 0x0f) << 2) | ((a[bytePos + 1] & 0xc0) >>

6)) & 0x3f;
                        toReturn.append(codec_table[pos]);
                    }
                    break;
                case 6:
                    if (bytePos == a.length - 1) {
                        toReturn
                                .append(codec_table[((a[bytePos] & 0x03) << 4) & 0x3f]);
                    } else {
                        int pos = (((a[bytePos] & 0x03) << 4) | ((a[bytePos + 1] & 0xf0) >>

4)) & 0x3f;
                        toReturn.append(codec_table[pos]);
                    }
                    break;
                default:
                    //never hanppen
                    break;
                }
                curPos+=6;
            }
            if(nn==2)
            {
                toReturn.append("==");
            }
            else if(nn==4)
            {
                toReturn.append("=");
            }
            return toReturn.toString();

        }
}

我就是希望在服务器上能把图片文件通过这个方法解析发个服务器后在解析回来,data数组就可以了.服务端解析怎么写,谢谢大家了,希望打家帮个忙.
看不清的话下面有代码.  那个图像是个8的数字
分享到:
评论

相关推荐

    labview 图片缩放 base64编码base64解码

    在这个特定的场景中,我们关注的是如何在LabVIEW中处理图片,包括图片的缩放、Base64编码和解码。 1. **图片缩放**: 在LabVIEW中,你可以使用图像处理库来实现图片的缩放功能。这个库提供了各种图像操作函数,...

    易语言汇编base64编码

    1. **Base64解析**:接收Base64编码的字符串,根据Base64字符集将每个字符转换回6位的二进制数。 2. **组合二进制数据**:将4个6位的二进制数组合成3个8位的字节,注意需要处理末尾的填充字符"="。 3. **数据恢复*...

    Base64文件图片编码解码双向转换解析预览工具

    这款“Base64文件图片编码解码双向转换解析预览工具”就是为了方便用户进行此类操作而设计的。 首先,让我们深入了解一下Base64编码。Base64编码基于64个字符的字符集,包括大小写字母(A-Z, a-z)、数字(0-9)...

    Base64文本字符串编码解码加密解密双向解析工具

    Base64是一种在互联网上广泛使用的编码方式,用于将二进制数据转化为可打印的ASCII字符,以便在不支持二进制传输的协议(如电子邮件)中传递。它基于64个可打印字符来表示二进制数据,这些字符包括大小写字母、数字...

    二维码生成 图片Base64编码解码

    二维码生成和图片Base64编码解码是两个在IT领域中常见的操作,广泛应用于数据传输、网页设计和移动应用等领域。下面将详细讲解这两个主题。 首先,二维码(Quick Response Code)是一种二维条形码,可以存储更多的...

    文件转换为Base64编码

    这种编码方式是通过将每3个8位字节的数据转换成4个6位的字节,然后用64个不同的字符(包括大小写字母、数字以及"+"和"/")来表示这4个6位的字节,最后可能需要在末尾添加一个或多个等号("=")来填充不足的位。...

    base64编码解码离线工具

    在这个"base64编码解码离线工具"中,用户可以方便地对数据进行Base64编码和解码,而无需依赖互联网连接。这对于在无网络环境下处理数据或者保护隐私非常有用。开发者已经优化了工具的功能,增加了对换行符的支持。在...

    QT图片BAse64编码与解码

    这个方法会按照Base64的标准对字节进行编码,生成的结果是一个包含Base64字符的字符串。 2. **Base64解码**: - 当接收到Base64编码的字符串后,我们可以调用QByteArray的fromBase64()静态方法将其转换回原始的...

    Base64编码解码工具成品+源码

    Base64编码的基本原理是将每3个字节(24位)的数据转换为4个6位的Base64字符,这4个字符可以表示64种不同的值,因此得名“Base64”。 在本压缩包中,包含了一个名为"Base64编码解码.e"的易语言源码文件和一个编译好...

    Base64编码解码工具

    Base64编码基于64个字符的字符集,这个字符集包括26个小写字母、26个大写字母、10个数字以及两个特殊字符“+”和“/”。每个64个字符代表一个6位的二进制数,这意味着每个64字符可以表示2^6 = 64种不同的值。由于...

    C语言base64编码解码库

    总的来说,这个C语言Base64编码解码库为开发者提供了一个便捷的工具,简化了处理Base64编码数据的过程。通过开源和修改,它适应了更多实际应用场景的需求,提高了代码的可读性和实用性。在嵌入式系统、网络通信或者...

    Android.Base64对图片进行编码和解码

    Base64是一种字符编码方式,将每3个8位字节(24位)的数据,转换为4个6位字节(24位)的数据,并使用64个可打印字符(包含大小写字母、数字以及"+"和"/")来表示。在编码过程中,如果原始数据不是3的倍数,会在末尾...

    Base64.zip_labview base64

    - Base64编码基于64个可打印的ASCII字符,包括大小写字母、数字以及"+"和"/",还有在末尾可能会出现的等于号("=")作为填充。 - 二进制数据被分为每3个字节一组,因为每个字节有8位,3个字节共24位。Base64编码将这...

    Base64编码jar包

    这个jar包包含了处理Base64操作所需的所有类和方法,可以方便地集成到Java工程中,帮助开发者轻松实现Base64的加解码功能。导入这个jar包后,无需关注底层实现,只需调用相关的API即可完成工作。 以下是使用`java...

    java和js相互base64编码解码

    下面将详细阐述这两个编程语言中实现Base64编码和解码的方法。 首先,让我们关注Java。在Java 8及更高版本中,已经内置了`java.util.Base64`类来支持Base64编码和解码。例如,在`Base64EnOut.java`文件中,可能会...

    Base64编码解码工具V1.5

    文件名"Base64编码解码工具V1.5.exe"表明这是一个可执行文件,可能是Windows操作系统下的应用程序。用户下载并运行这个.exe文件,就可以在本地计算机上直接使用该工具进行Base64编码和解码操作。这样的工具对于开发...

    Base64编码转换工具

    Base64编码的基本原理是将每3个字节(24位)的数据分成4组,每组6位,然后将这6位数据映射到64个可能的字符之一。这64个字符包括大小写字母、数字以及"+"和"/",最后还有一个特殊字符"="用于填充不足的位。因此,...

    base64 加解码 base64转hex Base64转图片 图片转Base64工具,比网上其它的方便好用,支持大于1M内容

    这个过程是编码的逆操作,使得接收方能够正确解析接收到的Base64字符串。 3. **URL编码**:Base64编码后的字符串可能包含URL不友好的字符,如"+"和"/"。为了在URL中使用Base64编码的数据,通常会进行URL编码,将...

    c++ base64 编码

    在IT领域,Base64是一种用于在网络上传输和存储非ASCII字符的数据编码方式。它将任意二进制数据转换为可打印的ASCII字符序列,主要应用于电子邮件、HTTP传输以及XML文档中。C++作为一门通用的编程语言,也支持Base64...

    BASE64编码方法

    **BASE64编码方法** BASE64是一种广泛用于网络数据传输和存储的编码方式,它将任意二进制数据转换成可打印的ASCII字符序列。这种方法最初被设计用来在电子邮件系统中传输非ASCII字符,现在则被应用于各种场景,如在...

Global site tag (gtag.js) - Google Analytics