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;

    }

  • 相关阅读:
    给字符数组赋值的方法
    linux服务之varnish
    Java实现第八届蓝桥杯承压计算
    Java实现第八届蓝桥杯承压计算
    Java实现第八届蓝桥杯迷宫
    Java实现第八届蓝桥杯纸牌三角形
    Java实现第八届蓝桥杯纸牌三角形
    Java实现第八届蓝桥杯分巧克力
    Java实现第八届蓝桥杯迷宫
    Java实现第八届蓝桥杯分巧克力
  • 原文地址:https://www.cnblogs.com/hbf369/p/2662400.html
Copyright © 2011-2022 走看看