学习完了相关资料,转身回来发现基础知识的重要地位!
一句话说明白这个事情,课本当中的转换算法的实际应用!
在现在互联网api发达的现今,又有多少人能知其然知其所以然呢.
需求:问卷调查,需要给客户发送一条短信,用于统计服务数据信息,为了减少短信长度,因此需要短链接.
进制转换工具:https://tool.lu/hexconvert/
链接数据生成一串序列化的标识,例如 ID:20200123
通过这个工具我们可以看出来经过不同进制的转换,我们可以把一串长度 8位长度的数据通过 64进制转换成 4位,这是怎么做到的呢?
六十四进制
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。
使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符
具体参见:
https://baike.baidu.com/item/%E5%85%AD%E5%8D%81%E5%9B%9B%E8%BF%9B%E5%88%B6/2176107?fr=aladdin
具体c#实现待补充