object-c NSString 转成特定编码格式如utf8、gbk等

有两种方式

第一种是先转换成特定编码格式NSDATA

第二种是先转换成特定编码格式char *(cString)

转成gbk:

第一种:

- (NSString *) utf82gbk:(NSString *)string

{
    NSStringEncoding enc =
CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
   
NSData *data = [string
dataUsingEncoding:enc];
    NSString *retStr =
[[[NSString alloc] initWithData:data encoding:enc]
autorelease];
    return  retStr; 
 
}

第二种:

- (NSString *) utf82gbk:(NSString *)string

{
    NSStringEncoding enc =
CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
   
NSData *data = [stringcStringUsingEncoding:enc];

    NSString *retStr =
[NSString 
stringWithCString:data
encoding:enc];

    return 
retStr;   
}

转成utf8

与上面类似

object-c NSString 转成特定编码格式如utf8、gbk等,布布扣,bubuko.com

时间: 2024-10-05 05:11:45

object-c NSString 转成特定编码格式如utf8、gbk等的相关文章

iOS中NSString转换成HEX(十六进制)-NSData转换成int

http://www.2cto.com/kf/201402/281501.html 1 2 3 4 5 6 NSString *str = @"0xff055008"; //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型 unsigned long red = strtoul([str UTF8String],0,16); //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以: unsigned

[转载]eclipse中设置文件的编码格式为utf-8

免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:ryxxlong     原文地址:http://ryxxlong.iteye.com/blog/788469 1.可以在 eclipse 中配置 workspace 项下 text file encoding 属性的值来决定此工作区间下所有的 eclipse 项目的文档的编码属性. Window-->Preferences-->General-->Workspace

将字符串的编码格式转换为utf-8

方式一: /** * 将字符串的编码格式转换为utf-8 * * @param str * @return Name = new * String(Name.getBytes("ISO-8859-1"), "utf-8"); */ public static String toUTF8(String str) { if (isEmpty(str)) { return ""; } try { if (str.equals(new String(st

UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理

一.字符编码简介 1. ASCII码 在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111.上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今.ASCII码一共规定了128个字符的

如何设置python的编码格式为utf-8

重装了系统(ubuntu 14.04)原来正常可用的OpenERP项目在切换到开发者模式的时候报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128) 而在服务器上的项目正常可用,其原因是由于python的默认编码设置为ascii,可以用以下命令查看: import sys sys.getdefaultencoding() 解决方案有两种: 1. 在项

发邮件抛异常。no object DCH for MIME type text/plain; charset=UTF-8

在进行发邮件的时候抛出的这个异常: IOException while sending message; nested exception is: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=UTF-8 检查在站点的lib文件夹下和在tomcat的common的lib下边是不是同时存在mail.jar and activation.jar,没有的话加进

转换编码,将Unicode编码转换成可以浏览的utf-8编码

//转换编码,将Unicode编码转换成可以浏览的utf-8编码 public function unicodeDecode($name) { $pattern = '/([\w]+)|(\\\u([\w]{4}))/i'; preg_match_all($pattern, $name, $matches); if (!empty($matches)) { $name = ''; for ($j = 0; $j < count($matches[0]); $j++) { $str = $matc

将NSString转换成UTF8编码的NSString

在使用网络地址时,一般要先将url进行encode成UTF8格式的编码,否则在使用时可能报告网址不存在的错误,这时就需要进行转换 下面就是转换函数: NSString *urlString= [NSString stringWithFormat:@"http://www.baidu.com]; NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes( kCFAllocatorDefault, (

Objective C NSString 编码成URL 特殊字符处理

找了一下网上的教程都是使用类似以下代码,Xcode提示这个CoreFoundation不受ARC管理,所以折中的方式是添加__bridge. NSString *encodedValue = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(nil, (CFStringRef)unencodedString, nil, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStri