• base64编码


    Base64编码说明
      Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

      为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

     

    Base64编码表

    码值字符   码值字符   码值字符   码值字符
    0 A 16 Q 32 g 48 w
    1 B 17 R 33 h 49 x
    2 C 18 S 34 i 50 y
    3 D 19 T 35 j 51 z
    4 E 20 U 36 k 52 0
    5 F 21 V 37 l 53 1
    6 G 22 W 38 m 54 2
    7 H 23 X 39 n 55 3
    8 I 24 Y 40 o 56 4
    9 J 25 Z 41 p 57 5
    10 K 26 a 42 q 58 6
    11 L 27 b 43 r 59 7
    12 M 28 c 44 s 60 8
    13 N 29 d 45 t 61 9
    14 O 30 e 46 u 62 +
    15 P 31 f 47 v 63 /

    二: 例子:

    网络接来的str转换成byte数组,再解压。

    + (NSData *)decodeFromStr:(NSString *) str

    {

        NSLog(@"Base64codeFunc");

        NSData * data = [[NSData allocinitWithBase64EncodedString:str options:0];

        

        Byte *byte = (Byte *)[data bytes];

        

    //    for (int i=0 ; i<[data length]; i++) {

    //        NSLog(@"byte = %d",byte[i]);

    //    }

        

        NSData *dataCompressed = [[NSData alloc] initWithBytes:byte length:[data length]];

        

        NSData *dataUmCompressed = [LFCGzipUtillity uncompressZippedData:dataCompressed];

        

        NSString *string = [[NSString alloc] initWithData:dataUmCompressed  encoding:NSUTF8StringEncoding];

    //   NSLog(@"dataUmCompressed %@",string);

        

        return dataUmCompressed;

    }

  • 相关阅读:
    [AHOI 2005]COMMON 约数研究
    [AHOI 2016初中组]迷宫
    [HNOI 2002]营业额统计
    [HAOI 2012]音量调节
    [HAOI 2010]软件安装
    [NOI 2015]荷马史诗
    浏览器同源政策
    docker 进程 转载:https://www.cnblogs.com/ilinuxer/p/6188303.html
    docker 进程 转载:
    redis 缓存问题,转载:https://www.cnblogs.com/liangsonghua/p/www_liangsonghua_me_22.html
  • 原文地址:https://www.cnblogs.com/developer-qin/p/4517490.html
Copyright © 2020-2023  润新知