zoukankan      html  css  js  c++  java
  • base64加密后字符串长度

    设字符串长度为n ,长度为 ⌈n/3⌉*4   ⌈⌉ 代表上取整

    先看一个来自牛客网的题目

    在网络传输数据时,经常需要将二进制数据转换为一个可打印字符串。一般用到的可打印字符集合包含64个字符,因此又称为Base64表示法。现有一个char数组长度为12,要将它表示为Base64字符串,请问Base64字符串最少需要( ) 个char;如果char数组长度为20,则需要( )个char。

    16,28

    base64的编码都是按字符串长度,以每3个8bit的字符为一组,
    然后针对每组,首先获取每个字符的ASCII编码,然后把ASCII编码转换成8bit二进制,得到24bit;
    再把这24bit每六个划分,高位用0补齐,得到4个8bit的字节,
    然后再将这4个8bit的字节转换成十进制,对照Base64编码表,
    得到对应编码后的字符。
    如果字符串的长度不能被3整除,多出来的部分用0补齐,对应的输出字符为“=”

    http://www.ruanyifeng.com/blog/2008/06/base64.html

  • 相关阅读:
    go笔记
    脚本
    php-log
    idea maven scala
    Corporative Network
    uva1160
    比map更强大的multimap
    Message Decowding
    kmp 的next 数组求法
    Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/sidesky/p/14510649.html
Copyright © 2011-2022 走看看