最近工作中碰到了需要在XML文件中插入图片的问题,当时的想法就是将byte数据转为string类型,在网上搜索后,发现通常的方法是使用Base64编码。
看了维基中关于Base64的介绍,觉得蛮好,这样string的size仅仅会扩大1/3。
后来有时间,坐下来思考,为什么常见编码没有Base128,Base256 甚至Base512?![吐舌头](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)
在StackOverflow中发现比较好的说法,大概意思就是希望所选取的字符是可打印的,所以选用了A-Z,a-z, 0-9, +,/这64个字符。当然,后来还有一些修改/增强的编码方式,迅雷的下载地址好像也是Base64,你会发现它的下载地址中经常会有"=="和"="符号。