编码转换工具 (C#入门)

一直想写一些图形化工具来用。从小入手,写了个计算器,看了下代码,有点麻瓜。

1
2
工具:编码转换工具
编译:VS2015 C#(.NET Framework v4.0)

先看一下效果图:

2018-01-03_15-54-01

其中有个bug,就是ASCii不归零,也不知道是怎么回事。

默认的textBox获取方式为Encoding.Default.GetBytes(str),注意的是要使用UTF8,代码有些丑陋,就不贴了。

在写到Base32的时候,没找到现成的方法可以直接利用,所以就去了解了下、

Base32是由ABCDEFGHIJKLMNOPQRSTUVWXYZ234567组成的,由于01由于与字母OI相似性而被跳过。

规则:

1
2
任意给定一个二进制数据,以5个位(bit)为一组进行切分(base64以6个位(bit)为一组)
对切分而成的每个组进行编码得到1个可见字符。

演示:(以rcoil字符串进行编码)

1
2
3
字符rcoil取ASCII码之后,对其转换成二进制(切5补0)得到
01110,01001,10001,10110,11110,11010,01011,01100
计算每组二进制对应的十进制,然后参考Base32编码表,组成密文

2018-01-03_17-51-05

具体的算法就是这样,有了流程就可以写代码了。

后来找了找,能找到一些别人已经写好的类。Base32 Decoding,直接利用就可以了。

!坚持技术分享,您的支持将鼓励我继续创作!