iOS中编码转化
1.UTF-8转化
NSString *data = @"你好,北京!";
//转换成UTF-8
NSString *dataUTF8 = [data stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",dataUTF8);
//UTF-8转GBK,将UTF8代码替换,官方解释如下。
//Replaces all percent escapes with the matching characters as determined by the given encoding. Returns nil if the transformation is not possible (i.e. the percent escapes give a byte sequence not legal in the given encoding). See CFURLCreateStringByReplacingPercentEscapes in CFURL.h for more complex transformations
NSString *dataGBK = [dataUTF8 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",dataGBK);
在Xcode4.2中执行结果如下:
将上述方法封装,如下:
//Unicode转UTF-8
+ (NSString *)encodeToPercentEscapeString: (NSString *) input
{
// Encode all the reserved characters, per RFC 3986
// (<http://www.ietf.org/rfc/rfc3986.txt>)
NSString *outputStr = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)input,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;
}
+ (NSString *)decodeFromPercentEscapeString: (NSString *) input
{
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@"+"
withString:@" "
options:NSLiteralSearch
range:NSMakeRange(0, [outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
2.UTF-8和Unicode转化
//Unicode转UTF-8
+ (NSString*) replaceUnicode:(NSString*)aUnicodeString
{
NSString *tempStr1 = [aUnicodeString stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData
mutabilityOption:NSPropertyListImmutable
format:NULL
errorDescription:NULL];
return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}
+(NSString *) utf8ToUnicode:(NSString *)string
{
NSUInteger length = [string length];
NSMutableString *s = [NSMutableStringstringWithCapacity:0];
for (int i = 0;i < length; i++)
{
unichar _char = [string characterAtIndex:i];
//判断是否为英文和数字
if (_char <= '9' && _char >= '0')
{
[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];
}
else if(_char >= 'a' && _char <= 'z')
{
[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];
}
else if(_char >= 'A' && _char <= 'Z')
{
[s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i, 1)]];
}
else
{
[s appendFormat:@"\\u%x",[string characterAtIndex:i]];
}
}
return s;
}
相关推荐
这个“IOS Emoji 编码提取”项目旨在帮助开发者方便地获取并共享iOS系统中的Emoji编码,使得这些编码能够在多个平台上通用。 首先,我们需要了解Emoji的基本概念。Emoji是由Unicode标准定义的一系列图形字符,它们...
在iOS FFmpeg软编码demo中,通常会有一个简单的用户界面,允许用户开启/关闭摄像头,调整编码参数,以及查看编码后的视频预览。这个demo是学习和理解FFmpeg软编码在iOS上实现的一个良好起点。 6. **优化** 软编码...
在iOS开发过程中,Unicode编码是一个重要的概念,它用于表示世界上几乎所有的文字系统,包括中文、英文、日文等。Unicode编码让多语言的软件能够统一处理各种字符,从而避免了不同编码格式导致的乱码问题。本文将...
在iOS开发中,地理编码(Geocoding)与反地理编码(Reverse Geocoding)是两个重要的地理位置处理技术。它们主要用于将地理位置坐标转换为人类可读的地址信息,或者将地址信息转换为地理位置坐标。本压缩包“ios-...
在iOS开发中,地理位置编码(Geocoding)是一项重要的功能,它允许开发者将人类可读的地址转换为经纬度坐标,反之亦然。这在地图应用、导航服务、位置跟踪等场景中尤为关键。苹果地图服务(MapKit框架)提供了这种...
iOS自带地图为高德地图,很容易让人误解为和高的SDK一样。但是经纬度标准和国内高的地图经纬度标准不一致,iOS系统内置为国际标准(WGS-84),国内高德地图SDK地图为GCJ-02)<火星坐标>(百度地理坐标为(BD-09))。很...
在iOS开发中,有时我们需要将中文字符转换为其拼音首字母,以便进行中文数据的排序、搜索或者特定功能的实现。这个“IOS中文数据转换成拼音首字母”的项目,由国外的专家开发,提供了这样的功能。它能够帮助开发者...
在iOS开发中,图片的BASE64编码与解码是一种常见的数据处理技术,它涉及到字符串与二进制数据之间的转换。BASE64是一种用于将任意二进制数据转化为ASCII字符编码的方法,通常用于在网络上传输非ASCII字符或者作为...
在iOS开发中,高效地处理网络请求返回的数据并将其转化为模型对象是十分关键的步骤。传统的做法是手动编写代码来解析JSON数据,并将其赋值给对应的模型类属性,这一过程繁琐且容易出错。"ios 属性自动转换工具"正是...
在iOS开发中,有时我们需要将图片数据转换成字符串格式以便在网络上传输,这时Base64编码就显得尤为重要。Base64是一种用64个字符来表示任意二进制数据的方法,它将二进制数据转化为可打印的ASCII字符,使得图片可以...
在iOS开发中,显示汉字涉及到了字符编码的重要概念,包括Unicode和UTF-8。这两个术语在计算机科学领域中是至关重要的,特别是在处理多语言文本时。让我们深入了解一下这两个概念及其在iOS中的应用。 首先,Unicode...
在iOS开发中,音频处理是一项重要的技能,尤其是涉及到音频文件的转换。本示例主要探讨的是录音功能以及AMR和WAV两种音频格式之间的转换。下面将详细介绍这两个关键知识点。 一、iOS录音功能 在iOS平台上,我们...
总结,iOS平台的AMR录音格式转换涉及到音频编码技术、跨平台兼容性和文件格式转换。通过自定义编码器或利用开源库,我们可以实现iOS设备的AMR录音,并保证文件在其他支持AMR的平台上的兼容性。在实际开发中,要根据...
标题"ios简体中文全局转繁体中文"所涉及的知识点是iOS应用中的语言转换功能,特别是如何将应用内的简体中文文本自动转换为繁体中文。这一功能通常是通过集成特定的资源代码来实现的。 描述中提到,“只要把这个资源...
在iOS开发中,音频处理是一项常见的任务,尤其是涉及到音频格式转换时。本篇文章将深入探讨如何在iOS中将PCM(脉冲编码调制)音频数据转换为MP3格式。PCM是一种未经压缩的原始数字音频格式,而MP3则是广泛使用的有损...
本话题主要围绕如何理解和处理iOS中的Emoji编码以及相关的plist文件。 首先,`plist`(Property List)文件是苹果操作系统中用于存储数据的一种格式,它能够保存各种类型的数据,如字符串、数字、数组、字典等。在...
3. **音频编码与解码**:音频转换过程中涉及到音频编码和解码。VoiceConverter可能包含了多种编码器和解码器,以支持各种音频格式的读取和写入。例如,AAC编码因其高压缩率和高质量而被广泛使用,而FLAC则是无损音频...
`会将错误转换为可选值,如果发生错误则返回nil,减少了需要大量try-catch块的情况。 3. **API设计指南更新**:Swift 4.2遵循了更新的API设计指南,使系统框架的命名和用法更加一致。比如,许多函数名的动词位置...
在iOS应用中,如果你需要将中文字符串转化为拼音,以便进行模糊搜索或拼音输入法的支持,这个库就非常有用。它提供了一个API接口,可以轻松地将中文字符转换成对应的拼音表示,这在很多中文搜索场景下非常实用。 ...
在这个源码中,音频编码部分可能利用了AudioToolbox的AudioConverter服务,这是一个高效的音频转换接口,能够将不同格式的音频数据转换为硬件支持的编码格式。此外,它可能还使用了AudioQueue服务来实现音频的实时...