Here you can find the source of longFromBase64(String value)
public static long longFromBase64(String value)
//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; } }