Java Long Number From longFromBase64(String value)

Here you can find the source of longFromBase64(String value)

Description

Decode a base64 string into a long value.

License

Apache License

Declaration

public static long longFromBase64(String value) 

Method Source Code

//package com.java2s;
/*/* ww w .  j av a2 s  . c o  m*/
 * Copyright 2009 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

public class Main {
    /**
     * An array mapping legal base 64 characters [a-zA-Z0-9$_] to their associated
     * 6-bit values. The source indices will be given by 7-bit ASCII characters,
     * thus the array size needs to be 128 (actually 123 would suffice for the
     * given set of characters in use).
     */
    private static final byte[] base64Values = new byte[128];

    /**
     * Decode a base64 string into a long value.
     */
    public static long longFromBase64(String value) {
        int pos = 0;
        long longVal = base64Values[value.charAt(pos++)];
        int len = value.length();
        while (pos < len) {
            longVal <<= 6;
            longVal |= base64Values[value.charAt(pos++)];
        }
        return longVal;
    }
}

Related

  1. longFromBigEndainArray(byte[] buf, int offset, int len)
  2. longFromByteArray(byte[] bytes)
  3. longFromByteArray(final byte[] buf, final int offset)
  4. longFromBytes(byte b8, byte b7, byte b6, byte b5, byte b4, byte b3, byte b2, byte b1)