String encodePhoneNumber(String number) { int encnum = Integer.parseInt(number.substring(2)); int prefix = (number.charAt(1) - '2') /2; // '3'=>0, '5'=>1, '[67]'=>2, '8'=>3 encnum |= (prefix <<= 30); final byte[] raw = new byte[4]; raw[0] = (byte)(encnum >>> 24); raw[1] = (byte)(encnum >>> 16); raw[2] = (byte)(encnum >>> 8); raw[3] = (byte) encnum; return Base64.encodeBase64URLSafeString(raw); } String decodePhoneNumber(String encoded) { final byte[] raw = Base64.decodeBase64(encoded); int encnum = (raw[0]) <>> 30]); String suffix = Integer.toString(encnum & ~(3<<30)); int pad = 9 - suffix.length(); if (pad > 0) { final char[] padding = {'0','0','0','0','0','0','0','0'}; // max 8 '0's number.append(padding, 0, pad); } number.append(suffix); return number.toString(); }
解压缩 JAVA手机_JAVA 实现手机号码压缩,解压
最新推荐文章于 2022-10-01 09:25:22 发布