base58编码原理
Base58是一种目前比较流行的一种进制编码方式。它和Base64类似,但不同于Base64,它只使用大小写字母和数字,而不包含其他特殊字符,所以base58编码有时也可以用作文本编码。
Base58编码是一种将二进制数据编码成ASCII字符串的编码方法。它使用58个可打印字符来表示二进制数据,比如“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“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”,“+”,“/”等。
字符串转数组编码方式Base58编码的原理是:首先将要编码的二进制数据转换成大整数形式,然后用58进制表示大整数,最后将58进制数转换成字符串。
编码过程: 1. 将原始字节数据转换为大整数; 2. 以58为基数,将大整数转换为对应的字符串; 3. 在字符串开头加上一个字节的版本号,作为标识; 4. 对得到的字符串进行校验,并将校验码作为最后一个字节添加到字符串末尾; 5. 执行步骤2-4,最终得到Base58编码后的字符串。
解码过程: 1. 将版本号从字符串中取出; 2. 将字符串转换为大整数; 3. 以256为基数,将大整数转换为字节数组; 4. 校验字符串是否正确; 5. 如果校验通过,则将取出的版本号放入字节数组中,得到原始二进制数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论