zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    编辑推荐
    mybatis
    学习网址记录
    关于详情页的具体制作(四)
    关于详情页的具体制作(三)
    关于详情页的具体制作(二)
    关于详情页的具体制作(一)
    关于事件循环的一些总结
    vue生命周期的一些总结
    对于home主页的切换处理
  • 原文地址:https://www.cnblogs.com/developer-qin/p/4517490.html
Copyright © 2011-2022 走看看