标准base64编码解码探究

 前两天写接口,遇到安卓终端编码使用GBK,而WEB服务端的中文编码使用的是UTF-8的情况,所以使用POST请求发送的中文内容进过MD5加密后会出现这样一种情况:原文内容显示为乱码,加密文则是正常GBK汉字的加密文,导致原文和加密文校验无法通过的情况。遇到这种中文传输成乱码的问题是很让人头疼的,所以在同事的提醒下,采用了将GBK中文转码成UTF-8码中文后用base64加密再进行MD5加密的方法,使用起来感觉还不错,并且请求的保密性也更高了,所以利用双休日仔细研究了一下base64这种实用而常见的编码模式。
        标准的base64转码对于英文和数字符号等字符的编码过程如下:1.查找该字符的ASCII码值。2.把该ASCII码值转换成8bit的二进制码。3.把这些8bit二进制码按三个一组排列,组成24bit一组的形式,如果末尾不足24bit的部分全部用0代替。4.再将24bit按照6bit一组重新分成6bit一组的形式。5.由于计算机无法识别六位,所以在每组前面补码00,凑齐8bit。6.将补码后的数字转换成十进制。7.查询标准base64编码表,得出加密编码后的字符串,(当初为了补满24bit在末尾加的0,每8bit转换成一个=,注意不是A)。

       下面我以英文名King为例:
 

King
ASCii码 75 105 110 103
二进制  01001011 01101001 01101110  01100111 00000000 00000000
64      010010 110110 100101 101110 011001 110000 000000 000000
补位    00010010 00110110 00100101 00101110 00011001 00110000 00000000 00000000
十进制  18 54 37 46 25 48 = =
转base64码 S2luZw==

        再说说中文的编码方式:中文的编码方式和英文的大致相同,区别在于英文字符有ASCII码表可以查询,但中文不是,中文字由于需要使用UTF-8的编码模式,所以需要查询UTF-8码(如果是Unicode或者GB编码格式的可以查询其相对应的编码表
),64编码则以该表的值为基础进行转换。
    
    下面我以我的中文名王冲为例:

王 冲
UTF-8码  E78E89  E586B2
二进制 111001111000111010001011   111001011000011010110010
64     111001 111000 111010 001011 111001 011000 011010 110010
补位  00111001 00111000 00111010 00001011 00111001 00011000 00011010 00110010
十进制 57 56 58 11 57 24 26 50
转base64码 546L5Yay

        需要注意,有些特殊用途的base64编码会不采用标准base64编码形式,而解码则是编码的逆运算。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值