1. hex编码
将任何字符都转换为其十六进制表示的英文字符。因此,即便原文件是纯英文内容,编码后内容也和原文完全不一样,普通人难以阅读。同时字符都变为可0-9+A-F十六个字符。数据在经过hex编码后,空间占用变成了原来的2倍。
2. base64编码
由64个可打印字符组成,比hex编码更难阅读,但由于每3个字节会被编码为4个字符,数据若不是3个字节的整数倍, 结尾用=填充。所以,空间占用会是原来的4/3,比hex要节省空间。另外要注意的是,虽然Base64编码后的数据难以阅读,但不能将其做为加密算法使用,因为它解码都不需要你提供密钥啊。
3.urlEncode编码
主要解决url中的中文或不可见字符或与url冲突的字符的编码问题。英文字符原样保留,而对于非英文内容,每个字节会被编码为%xx的3个字符,空间占用是原来的3倍,所以urlEncode是一个对英文友好的编码方案。
json字符串中某些数据,如果存在特殊字符, 也可以通过对所有字段都进行urlEncode解决。