当前位置: 首页>>代码示例>>Java>>正文


Java Base64.getMimeDecoder方法代码示例

本文整理汇总了Java中java.util.Base64.getMimeDecoder方法的典型用法代码示例。如果您正苦于以下问题:Java Base64.getMimeDecoder方法的具体用法?Java Base64.getMimeDecoder怎么用?Java Base64.getMimeDecoder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.util.Base64的用法示例。


在下文中一共展示了Base64.getMimeDecoder方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: test1

import java.util.Base64; //导入方法依赖的package包/类
private static void test1() throws Exception {
    byte[] src = new byte[] {
        46, -97, -35, -44, 127, -60, -39, -4, -112, 34, -57, 47, -14, 67,
        40, 18, 90, -59, 68, 112, 23, 121, -91, 94, 35, 49, 104, 17, 30,
        -80, -104, -3, -53, 27, 38, -72, -47, 113, -52, 18, 5, -126 };
    Encoder encoder = Base64.getMimeEncoder(49, new byte[] { 0x7e });
    byte[] encoded = encoder.encode(src);
    Decoder decoder = Base64.getMimeDecoder();
    byte[] decoded = decoder.decode(encoded);
    if (!Objects.deepEquals(src, decoded)) {
        throw new RuntimeException();
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:14,代码来源:TestBase64Golden.java

示例2: testDecodeIgnoredAfterPadding

import java.util.Base64; //导入方法依赖的package包/类
private static void testDecodeIgnoredAfterPadding() throws Throwable {
    for (byte nonBase64 : new byte[] {'#', '(', '!', '\\', '-', '_', '\n', '\r'}) {
        byte[][] src = new byte[][] {
            "A".getBytes("ascii"),
            "AB".getBytes("ascii"),
            "ABC".getBytes("ascii"),
            "ABCD".getBytes("ascii"),
            "ABCDE".getBytes("ascii")
        };
        Base64.Encoder encM = Base64.getMimeEncoder();
        Base64.Decoder decM = Base64.getMimeDecoder();
        Base64.Encoder enc = Base64.getEncoder();
        Base64.Decoder dec = Base64.getDecoder();
        for (int i = 0; i < src.length; i++) {
            // decode(byte[])
            byte[] encoded = encM.encode(src[i]);
            encoded = Arrays.copyOf(encoded, encoded.length + 1);
            encoded[encoded.length - 1] = nonBase64;
            checkEqual(decM.decode(encoded), src[i], "Non-base64 char is not ignored");
            byte[] decoded = new byte[src[i].length];
            decM.decode(encoded, decoded);
            checkEqual(decoded, src[i], "Non-base64 char is not ignored");

            try {
                dec.decode(encoded);
                throw new RuntimeException("No IAE for non-base64 char");
            } catch (IllegalArgumentException iae) {}
        }
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:31,代码来源:TestBase64.java

示例3: testMalformedPadding

import java.util.Base64; //导入方法依赖的package包/类
private static void testMalformedPadding() throws Throwable {
    Object[] data = new Object[] {
        "$=#",       "",      0,      // illegal ending unit
        "A",         "",      0,      // dangling single byte
        "A=",        "",      0,
        "A==",       "",      0,
        "QUJDA",     "ABC",   4,
        "QUJDA=",    "ABC",   4,
        "QUJDA==",   "ABC",   4,

        "=",         "",      0,      // unnecessary padding
        "QUJD=",     "ABC",   4,      //"ABC".encode() -> "QUJD"

        "AA=",       "",      0,      // incomplete padding
        "QQ=",       "",      0,
        "QQ=N",      "",      0,      // incorrect padding
        "QQ=?",      "",      0,
        "QUJDQQ=",   "ABC",   4,
        "QUJDQQ=N",  "ABC",   4,
        "QUJDQQ=?",  "ABC",   4,
    };

    Base64.Decoder[] decs = new Base64.Decoder[] {
        Base64.getDecoder(),
        Base64.getUrlDecoder(),
        Base64.getMimeDecoder()
    };

    for (Base64.Decoder dec : decs) {
        for (int i = 0; i < data.length; i += 3) {
            final String srcStr = (String)data[i];
            final byte[] srcBytes = srcStr.getBytes("ASCII");
            final ByteBuffer srcBB = ByteBuffer.wrap(srcBytes);
            byte[] expected = ((String)data[i + 1]).getBytes("ASCII");
            int pos = (Integer)data[i + 2];

            // decode(byte[])
            checkIAE(() -> dec.decode(srcBytes));

            // decode(String)
            checkIAE(() -> dec.decode(srcStr));

            // decode(ByteBuffer)
            checkIAE(() -> dec.decode(srcBB));

            // wrap stream
            checkIOE(new Testable() {
                public void test() throws IOException {
                    try (InputStream is = dec.wrap(new ByteArrayInputStream(srcBytes))) {
                        while (is.read() != -1);
                    }
            }});
        }
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:56,代码来源:TestBase64.java

示例4: testMalformedPadding

import java.util.Base64; //导入方法依赖的package包/类
private static void testMalformedPadding() throws Throwable {
   Object[] data = new Object[] {
       "$=#",       "",      0,      // illegal ending unit
       "A",         "",      0,      // dangling single byte
       "A=",        "",      0,
       "A==",       "",      0,
       "QUJDA",     "ABC",   4,
       "QUJDA=",    "ABC",   4,
       "QUJDA==",   "ABC",   4,

       "=",         "",      0,      // unnecessary padding
       "QUJD=",     "ABC",   4,      //"ABC".encode() -> "QUJD"

       "AA=",       "",      0,      // incomplete padding
       "QQ=",       "",      0,
       "QQ=N",      "",      0,      // incorrect padding
       "QQ=?",      "",      0,
       "QUJDQQ=",   "ABC",   4,
       "QUJDQQ=N",  "ABC",   4,
       "QUJDQQ=?",  "ABC",   4,
   };

   Base64.Decoder[] decs = new Base64.Decoder[] {
       Base64.getDecoder(),
       Base64.getUrlDecoder(),
       Base64.getMimeDecoder()
   };

   for (Base64.Decoder dec : decs) {
       for (int i = 0; i < data.length; i += 3) {
           final String srcStr = (String)data[i];
           final byte[] srcBytes = srcStr.getBytes("ASCII");
           final ByteBuffer srcBB = ByteBuffer.wrap(srcBytes);
           byte[] expected = ((String)data[i + 1]).getBytes("ASCII");
           int pos = (Integer)data[i + 2];

           // decode(byte[])
           checkIAE(() -> dec.decode(srcBytes));

           // decode(String)
           checkIAE(() -> dec.decode(srcStr));

           // decode(ByteBuffer)
           checkIAE(() -> dec.decode(srcBB));

           // wrap stream
           checkIOE(new Testable() {
               public void test() throws IOException {
                   try (InputStream is = dec.wrap(new ByteArrayInputStream(srcBytes))) {
                       while (is.read() != -1);
                   }
           }});
       }
   }

   // anything left after padding is "invalid"/IAE, if
   // not MIME. In case of MIME, non-base64 character(s)
   // is ignored.
   checkIAE(() -> Base64.getDecoder().decode("AA==\u00D2"));
   checkIAE(() -> Base64.getUrlDecoder().decode("AA==\u00D2"));
   Base64.getMimeDecoder().decode("AA==\u00D2");
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:63,代码来源:TestBase64.java


注:本文中的java.util.Base64.getMimeDecoder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。