Base62 编码用62个可见字符来编码信息,也就是所谓的62进制,可用于缩短地址之类的。实现起来也很简单。当然,这个实现跟别人家的有可能不一样,反正自己能编能解就行。

package main

import (

"math"

"strings"

)

const CODE62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

const CODE_LENTH =

var EDOC = map[string]int{"":,"":,"":,"":,"":,"":,"":,"":,"":,"":,"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":, }

/**

* 编码 整数 为 base62 字符串

*/

func Encode(number int) string {

if number == {

return ""

}

result := make([]byte , )

for number > {

round := number / CODE_LENTH

remain := number % CODE_LENTH

result = append(result,CODE62[remain])

number = round

}

return string(result)

}

/**

* 解码字符串为整数

*/

func Decode(str string) int {

str = strings.TrimSpace(str)

var result int =

for index,char := range []byte(str){

result += EDOC[string(char)] * int(math.Pow(CODE_LENTH,float64(index)))

}

return result

}

里面硬编码了 CODE_LENGTH 是不想每次去算一下长度,省点时间。

Base62编码与62进制

Base62编码 Base62编码与Base64编码类似,都用于数据内容编码.基本原理请参看. import java.io.ByteArrayOutputStream ...

Golang的字符编码介绍

Golang的字符编码介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go里面内建仅支持UTF8字符串编码,因此如果你用fmt.Printf之类的函数无法将GBK,GB2312 ...

golang——字符串与编码

1.字符编码 (1)ASCII码 一个字节表示的英文.数字.标点符号等字符. 国际标准ASCII码为0-127即128个字符,二进制最高位为0,其余为扩展ASCII码. (2)GB2312 两字节,主 ...

JAVA和PYTHON同时实现AES的加密解密操作---且生成的BASE62编码一致

终于有机会生产JAVA的东东了. 有点兴奋. 花了一天搞完.. java(关键key及算法有缩减): package com.security; import javax.crypto.Cipher; ...

golang中文字符编码转换

golang 有很多需要将中文转成utf8的 网上搜到一个直接转的,记录下,备用 package main import "golang.org/x/text/encoding/simpli ...

Golang 处理 Json(一):编码

JSON 是一种数据格式描述语言.以 key 和 value 构成的哈系结构,类似 Javascript 中的对象,python 中的字典.通常 json 格式的 key 是字符串,其值可以是任意类型 ...

Base系列编码浅析【base16 base32 base64 base85 base36 base 58 base91 base 92 base62】

Base系列编码浅析 [base16   base32   base64   base85  base36  base 58  base91  base 92   base62]     base编码 ...

Golang学习:sublime text3配置golang环境

最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

随机推荐

Duilib源码分析(五)UI布局—Layout与各子控件

接下来,继续分析duilib之UI布局Layout,目前提供的布局有:VerticalLayout.HorizontalLayout.TileLayout.TabLayout.ChildLayout分 ...

使用ExifInterface设置Datetime发生的问题

最近在弄一个Android小程序,需要把图像的生成时间设置到Exif的Datetime,用ExifInterface.setAttribute(ExifInterface.TAG_DATETIME,& ...

java web 100个知识点

http://wenku.baidu.com/link?url=ns5SvKesJSLzpcTckBKsFopqgbC6O0XBuVBS1BZwtJbK1P-aYbNV3fVOU9lYTbGQwKYK ...

Java内部类总结

内部类是一种编译器现象,与虚拟机无关.编译器将会把内部类翻译成用美元符号$分隔外部类名与内部类名的常规类文件,而虚拟机对此一无所知.编译器为了引用外部类,生成了一个附加的实例域this$0 为什么要用 ...

数学之路-python计算实战(13)-机器视觉-图像增强

指数变换的基本表达式为:y=bc(x-a)-1 当中參数b.c控制曲线的变换形状,參数a控制曲线的位置. 指数变换的作用是扩展图像的高灰度级.压缩低灰度级.能够用于亮度过高的图像 本博客全部内容是原创 ...

label自适应

//label自适应 self.label = [UILabel new]; self.label.font = [UIFont systemFontOfSize:14]; NSString *tit ...

PHP数组实际占用内存大小的分析

一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G.下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数 ...

Python学习笔记【第十三篇】:Python网络编程一Socket基础

什么是⽹络 网络能把双方或多方连在一起的工具,即把数据从一方传递到另一方进行数据传递. 网络编程就是不同电脑上的软件能够进行数据传递.即进程间的通讯. 什么是TCP/IP协议 协议就是大家一起遵守的约 ...

ethereum发erc20token

以太坊发币智能合约代码简单介绍: 发币代码如下(https://ethereum.org/token#the-code网站中获得): pragma solidity ^; interface toke ...

系统服务和普通FORMS程序共存一体的实现

要求:一个EXE,如何将它做成这样的效果:1.双击它时,像一个FORMS程序那样正常显示窗体运行.2.注册成系统服务,每次都可以从service.msc中启动它. 也就是说,没注册之前,它可以当作普通 ...

base62编码 java_Golang 之 Base62 编码相关推荐

  1. python字符编码讲解_python 字符编码讲解

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  2. python2 python3编码_Python2和Python3编码问题-从底层出发

    首先需要强调---无论是python2还是python3都可以理解成是Unicode编码,但是在电脑硬盘上存储是按照不同的映射关系的. Python的encode和decode 首先明白一件事情,之前 ...

  3. 格伦布编码——rice编码无非是golomb编码M为2^x的特例

    格伦布编码 格伦布编码是一种无失真资料压缩方法,由数学家所罗门·格伦布在1960年代提出. Rice编码 Robert F. Rice提出Rice 编码,是以哥伦布编码为基础做改良而更简易的前置码.R ...

  4. 【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

    文章目录 安卓直播推流专栏博客总结 一. 音频数据采集.编码 二. AAC 高级音频编码 三. FAAC 编码器 四. Ubuntu 18.04.4 交叉编译 FAAC 编码器 安卓直播推流专栏博客总 ...

  5. 计算机网络---非归零码、曼彻斯特编码和差分曼彻斯特编码

    题目: 在数据通信技术中,将利用模拟信道通过调制解调器传输模拟信号的方法称为频带传输:将利用数字信道直接传输数字信号的方法称为基带传输. 基带传输中,数字信号的编码方式主要有三种:非归零码.曼彻斯特编 ...

  6. 计算机键盘是编码键盘还是非编码键盘,矩阵按键原理图_矩阵按键扫描实例

    键盘分编码键盘和非编码键盘.键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘. 在一般嵌入式应用中,用的最多的是非编码键盘 ...

  7. sql server schema下拉不到存储过程_mysql数据库字符编码总结--数据存储编码

    概述 MySQL的字符编码结构比较细,它大方向分为两个部分:数据存储编码和数据传输编码. 内容比较多,下面先简单介绍下数据存储编码~ 01 编码层次 数据存储的字符编码配置是指定数据库中存储的数据默认 ...

  8. .Net 编码以及与这些编码关联的代码页

    下表列出了受支持的编码以及与这些编码关联的代码页. 最后一列中的星号指示 .NET Framework 本身即支持该代码页,而不需考虑基础平台. http://msdn.microsoft.com/z ...

  9. fileinput设置编码python_Python的各种编码设置

    之前我们编写了一个python操作数据库的方法,按照文档的提供的参数来写,写完了以后自己测试发现报了一个编码的错误,也不知道为什么会报这个错误,我一般对编码的错误比较在意,原来搞php的时候,就出现过 ...

最新文章

  1. java reader_Java Reader reset()方法与示例
  2. 学习日记0802函数递归,三元表达式,列表生成式,字典生成式,匿名函数+内置函数...
  3. c语言槟编程把两个数交换,第三章管理信息系统技术基础.doc
  4. 中序遍历+后序/先序遍历构建二叉树
  5. 计算机可爱的企鹅教案,《可爱的企鹅》教学设计
  6. 去除CSDN广告的方法
  7. 世界各国网络域名后缀
  8. Autojs对接图灵机器人
  9. Latex如何在文本中插入数学符号
  10. phpnow php升级,phpnow如何升级php版本
  11. 惠普HP compaq康柏系列 CQ40笔记本电脑拆机除尘
  12. 怎样解除网络宽带限制
  13. 微信小程序--行星轨迹
  14. [内网渗透]—GPO批量控制域内主机
  15. 头的各个部位示意图_上臂肌群图示:肱二头肌、肱三头肌、肱肌部位图解说明...
  16. unix/linux编程实践,Unix/Linux编程实践教程–cp在OS X的实现
  17. 为什么越来越多的人选择海外服务器?
  18. 密码加密技术(MD5)
  19. 大数据处理和编程实践Hadoop
  20. T分布在医药领域应用

热门文章

  1. Tengine对比Nginx
  2. 关于WIN10 精简版 SMB无法使用
  3. STM32F407ZGT6使用SDIO方式驱动SD卡
  4. 关于WIN10新版本系统高级电源设置选项缺失问题
  5. VirtualBox虚拟机闪退后如何重新打开
  6. JS鼠标滚轮事件mousewheel实现翻页(记录)
  7. 任务1_修改植物大战僵尸关卡和金币
  8. rk3288 android 4.4.4 双屏异显
  9. 感光电路板的使用方法和制作步骤
  10. 一篇文章打通PostgreSql(pgsql)的正则匹配: like, similar to, ~。 以及与 mysql 正则匹配的区别。