Numeric Character Reference转NSString
来源:互联网 发布:黄金现货数据 编辑:程序博客网 时间:2024/06/06 09:20
在处理数据的时候,有时候会遇到 开头的数据,例如Σ那么这个是 Numeric Character Reference编码。NCR编码是由一个与号(&)跟着一个井号(#), 然后跟着这个字符的Unicode编码值, 最后跟着一个分号组成的, 如:&#nnnn;或者&#xhhhh
其中, nnnn是字符编码的十进制表示, 而hhhh是字符的16进制表示.在ios中处理这种编码有两种方法,一种使用NSAttributedString的方式,这种比较简单,但是处理极慢。另外一种就是自己写编码转换。两种实现的代码如下:-(NSString *)toUnicodeString{ NSMutableString *srcString = [[NSMutableString alloc]initWithString:self]; if ([srcString containsString:@""]) { [srcString replaceOccurrencesOfString:@"" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [srcString length])]; NSMutableString *desString = [[NSMutableString alloc]init]; NSArray *arr = [srcString componentsSeparatedByString:@";"]; for(int i=0;i<[arr count]-1;i++){ NSString *v = [arr objectAtIndex:i]; char *c = malloc(3); int value = [v intValue]; c[1] = value &0x00FF; c[0] = value >>8 &0x00FF; c[2] = '\0'; [desString appendString:[NSString stringWithCString:c encoding:NSUnicodeStringEncoding]]; free(c); } return desString;}else{ return self;}}-(NSString *)toUnicodeString2{NSError * error=nil;NSData *encodedData = [self dataUsingEncoding: NSUTF8StringEncoding];NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:encodedData options:options documentAttributes:nil error:&error];return [attributedString string];}
查看原文:http://www.giser.net/?p=1525
0 0
- Numeric Character Reference转NSString
- NCR(Numeric Character Reference)简单介绍
- numeric character reference(NCR) (数字字符引用)
- 将 NCR(Numeric Character Reference) 字符转换为真实字符的方法
- 实体码和字符转码---Character entity references 和 numeric character references
- NSString Class Reference
- CASE types character varying and numeric cannot be matched
- entity reference name can not contain character...
- Unescaped & or nonterminated character/entity reference
- Springmvc UPDATE 数据时 ORA-01858:a non-numeric character was found where a numeric was expected
- Fortran 程序编译时错误 Error: Non-numeric character in statement label at (1)
- ORA-06502: PL/SQL: numeric or value error: character string buffer too small
- ORA-06502: PL/SQL: numeric or value error: character string buffer too small
- ORA-06502: PL/SQL: numeric or value error: character string buffer too small
- C Reference Manual Reading Notes: 001 Character set
- Intellij IDEA——Unescaped & or nonterminated character/entity reference
- iOS集成支付宝问题之:"CreateRSADataSigner(NSString*)",reference from:
- character
- 黑马程序员---Java基础---内部类
- Gaussian discriminant analysis
- Apache 基金会宣布 Apache Kylin 成为顶级项目
- Title_微信开放平台分账功能实战(Java版)
- 在项目里交叉使用Swift和OC
- Numeric Character Reference转NSString
- 地图相关
- js函数的作用域与this指向
- 悟
- MVC前端控制前图解
- 提取日志信息之正则表达式
- 数据库分页
- 教你如何秒杀12306,JAVA程序抢票成功!----阿冬专栏
- Cordova系列之一开发环境搭建(windows)