IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image

摘要:
本文基本上都是代码。首先。H文件1#导入23@interfaceBase64AndImageHelp:NSObject4-(NSString*)encodeURL:(NSString#)字符串;5+(id)mydataWithBase64EncodedString:(NSString*)字符串;6@endBase64AndIm

本文基本全部都是代码

首先是.H文件

IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image第1张IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image第2张
1 #import <Foundation/Foundation.h>
2 
3 @interface Base64AndImageHelp : NSObject
4 - (NSString*)encodeURL:(NSString *)string;
5 +(id)mydataWithBase64EncodedString:(NSString *)string ;
6 @end
Base64AndImageHelp.h

然后是.M文件

IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image第3张IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image第4张
  1 #import "Base64AndImageHelp.h"
  2 @interface NSData (MBBase64)
  3 
  4 + (id)dataWithBase64EncodedString:(NSString *)string;
  5 - (NSString *)base64Encoding;
  6 
  7 @end
  8 static const char encodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  9 
 10 @implementation NSData (MBBase64)
 11 
 12 + (id)dataWithBase64EncodedString:(NSString *)string {
 13     if (string == nil)
 14         [NSException raise:NSInvalidArgumentException format:@""];
 15     
 16     if ([string length] == 0)
 17         return [NSData data];
 18     
 19     static char *decodingTable = NULL;
 20     
 21     if (decodingTable == NULL) {
 22         decodingTable = malloc(256);
 23         if (decodingTable == NULL)
 24             return nil;
 25         memset(decodingTable, CHAR_MAX, 256);
 26         NSUInteger i;
 27         for (i = 0; i < 64; i++)
 28             decodingTable[(short)encodingTable[i]] = i;
 29     }
 30     
 31     const char *characters = [string cStringUsingEncoding:NSASCIIStringEncoding];
 32     if (characters == NULL)
 33         return nil;
 34     char *bytes = malloc((([string length] + 3) / 4) * 3);
 35     if (bytes == NULL)
 36         return nil;
 37     
 38     NSUInteger length = 0;
 39     NSUInteger i = 0;
 40     
 41     while (YES) {
 42         char buffer[4];
 43         short bufferLength;
 44         for (bufferLength = 0; bufferLength < 4; i++) {
 45             if (characters[i] == '

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java路径Java开发中获得非Web项目的当前项目路径QT5的QChart使用记录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Base64加密解密

Base64加密解密using System; using System.Collections.Generic; using System.Text; namespace Dachie { class Program { static void Main(string[] args) {...

(一)JIRA API 对接

系统要跟JIRA对接,将本系统数据发送给jira,jira数据返回给本系统。 开始一头雾水怎么让数据传过去已什么形式存在,是存数据库呢还是怎么显示呢。研究半天发现其实只要将原数据作为json数据提供给jira接口,jira接口进行创建issue。 但前提在于要先创建项目。 jira的API 有很多有创建项目的,创建问题等。在线找到了6.1版本的API,根据...

iOS开发-OC语言 (一)oc数据类型

分享一套以前学习iOS开发时学习整理的资料,后面整套持续更新: oc数据类型 数据类型:基本数据类型、指针数据类型 基本数据类型:数值型、字符型(char)、布尔型、空类型(void) 指针数据类型:类(class)、id 数值型:整数类型int、浮点型float、double c和oc的基本数据类型 int:声明整型变量 double:声明双精度变量 f...

lua 分割字符串

-- 参数:待分割的字符串,分割字符   -- 返回:子串表.(含有空串)   function split(str, split_char)           local sub_str_tab = {}     while true do                   local pos = string.find(str, split_cha...

JavaEE-02 JSP数据交互01

学习要点 request对象 response对象 转发与重定向 session对象 include指令 课程回顾 需求描述:编写JSP页面,计算2000—3000年中存在几个闰年。 实现分析:判断闰年的算法写在方法boolean leapYear(int year)中。 提示:闰年——能够被4整除而不能被100整除,或者能够被400整除。 JSP...

【CUDA并行编程之八】Cuda实现Kmeans算法

本文主要介绍如何使用CUDA并行计算框架编程实现机器学习中的Kmeans算法,Kmeans算法的详细介绍在这里,本文重点在并行实现的过程。 当然还是简单的回顾一下kmeans算法的串行过程: 伪代码: [cpp]view plaincopy 创建k个点作为起始质心(经常是随机选择) 当任意一个点的簇分配结果发生改变时 对数据集中的每个数据点 对每...