字符编码和文字的互转

写个工具,实现字符编码和文字的互转。比如GBK字符码转中文。

给NSString扩展分类

@interface NSString (ConvertEncoding)

#pragma mark - GBK
/// 把十六进制GBK编码转成文字
- (instancetype)convertToGBKCharacters;

/// 把文字转成十六进制GBK编码
- (instancetype)convertToGBKCode;


#pragma mark - UTF8
/// 把十六进制UTF8编码转成文字
- (instancetype)convertToUTF8Characters;

/// 把文字转成十六进制UTF8编码
- (instancetype)convertToUTF8Code;


#pragma mark - Public
/// 把十六进制编码转成文字
- (instancetype)convertToCharactersWithEncoding:(NSStringEncoding)encoding;

/// 把文字转成十六进制编码
- (instancetype)convertToCodeWithEncoding:(NSStringEncoding)encoding;

/// 把十六进制字符串转成NSData
- (NSData *)convertToHexData;

/// 把NSData转成十六进制字符串
+ (instancetype)hexStringFromData:(NSData *)data;

@end

简单使用

NSString *gbk = @"C4E3BAC3";
NSString *characters = [gbk convertToGBKCharacters];
NSLog(@"把十六进制GBK编码转成文字:%@ --> %@", gbk, characters);
        
characters = @"你好";
gbk = [characters convertToGBKCode];
NSLog(@"把文字转成十六进制GBK编码:%@ --> %@", characters, gbk);
        
NSString *utf8 = @"E6849FE8B0A2";
characters = [utf8 convertToUTF8Characters];
NSLog(@"把十六进制UTF8编码转成文字:%@ --> %@", utf8, characters);
        
characters = @"感谢";
utf8 = [characters convertToUTF8Code];
NSLog(@"把文字转成十六进制UTF8编码:%@ --> %@", characters, utf8);
控制台输出
控制台输出

源码

https://github.com/JiongXing/NSStringConvertEncoding

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,939评论 25 708
  • 不知道去那里发泄,本想着自己搭建个博客服务器,考虑太多因素就暂缓了。先在这写上。 首先是昨天晚上睡觉做了个梦,噩梦...
    terribleMa阅读 296评论 0 0
  • 读完稻草人手记感触颇多,认为必须要写一篇什么来纪念我的感想。我这个人啊,被逼着写是着实写不出来东西的,可是自己想写...
    帅气的我wyy阅读 606评论 0 0
  • 本文参加#未完待续,就要表白#活动,本人承诺,文章内容为原创,且未在其他平台发表过。 新亡旧别忆。...
    疯左阅读 286评论 4 1