zoukankan      html  css  js  c++  java
  • UTF7 编码转换

    #import "GTMBase64.h"

    //utf-7  需要用到GTMBase64

    - (NSString *)stringFromUTF7String:(NSString *)utf7String

    {

        NSMutableString *result = [NSMutableString string];

        NSInteger location = 0;

        NSInteger len = 0;

        BOOL isBase64 = NO;

        for (int i = 0; i < utf7String.length; i++) {

            unichar ch = [utf7String characterAtIndex:i];

            if (ch == '&') {

                location = i +1;

                isBase64 = YES;

                continue;

            }

            if (ch == '-') {

                //            location = i +1;

                isBase64 = NO;

                NSString *base64 = [utf7String substringWithRange:NSMakeRange(location, len)];

                [result appendString:[self decodeBase64:base64]];

                len = 0;

                location = 0;

                continue;

            }

            if (isBase64) {

                len++;

            } else {

                [result appendString:[NSString stringWithCharacters:&ch length:1]];

                

            }

            

            

        }

        return result;

    }

    - (NSString *)decodeBase64:(NSString *)base64String

    {

        //    NSString *unicode = @"T2BZfQ";//19 54 1 25 31 16

        

        NSData *data = [GTMBase64 webSafeDecodeString:base64String];

        NSString *result = [[NSString alloc] initWithData:data encoding:NSUnicodeStringEncoding];

        

        return result;

    }

  • 相关阅读:
    安卓开发遇到的报错信息
    工作记录
    答辩系统问题
    DWR
    前端vue 里的tab切换 减少dom操作
    前端拖动div 效果
    vue 点击按钮弹窗,点击关闭按钮关闭弹窗。
    前段开发 jq ajax数据处理详细讲解。
    vue计算属性computed和methods的区别
    前段开发 react native tab功能
  • 原文地址:https://www.cnblogs.com/hbf369/p/2662400.html
Copyright © 2011-2022 走看看