iphone-common-codes-ccteam 소스 코드 CCEncoding.m
6564 단어 encoding
//
// CCEncoding.m
// CCFC
//
// Created by xichen on 11-12-18.
// Copyright 2011 ccteam. All rights reserved.
//
#import "CCEncoding.h"
@implementation CCEncoding
// log all encodings
+ (void)logAllEncodings
{
const NSStringEncoding *encodings = [NSString availableStringEncodings];
NSMutableString *str = [[NSMutableString alloc] init];
NSStringEncoding encoding;
while ((encoding = *encodings++) != 0)
{
[str appendFormat:@"%@ is %x
", [NSString localizedNameOfStringEncoding:encoding], encoding];
}
NSLog(@"str is %@", str);
[str release];
NSLog(@"defaultCStringEncoding is %d", [NSString defaultCStringEncoding]);
}
// unicode ---> UTF8
+ (const char *)UnicodeToUTF8:(NSString *)src
{
return [src UTF8String];
}
// UTF8 ---> unicode
+ (NSString *)UTF8ToUnicode:(const char *)src
{
return [NSString stringWithCString:src encoding:NSUTF8StringEncoding];
}
// GB18030 ---> unicode
+ (NSString *)GB18030ToUnicode:(const char *)src
{
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
return [NSString stringWithCString:src encoding:enc];
}
// unicode ---> GB18030
+ (const char *)UnicodeToGB18030:(NSString *)src
{
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
return [src cStringUsingEncoding:enc];
}
// GB18030 ---> UTF8
// GB18030 --> Unicode --> UTF8
+ (const char *)GB18030ToUTF8:(const char *)src
{
NSString *unicode = [self GB18030ToUnicode:src];
return [self UnicodeToUTF8:unicode];
}
// UTF8 ---> GB18030
// UTF8 --> Unicode --> GB18030
+ (const char *)UTF8ToGB18030:(const char *)src
{
NSString *unicode = [self UTF8ToUnicode:src];
return [self UnicodeToGB18030:unicode];
}
// Unicode cStr to Unicode NSString
// you should make sure the cStr begins with 0xFF, 0xFE(the unicode flag).
+ (NSString *)UnicodeCStrToUnicode:(const char *)cStr withLen:(int)len
{
NSData *data = [NSData dataWithBytes:cStr length:len];
return [[[NSString alloc] initWithData:data encoding:NSUnicodeStringEncoding] autorelease];
}
@end
구글 코드 링크 주소 (업데이트됨): http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCEncoding.m
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PowerShell에서 git log, diff 출력 시 한글 깨지는 오류 해결PowerShell에서 git log나 git diff 출력 시 인코딩 문제로 인해 글자가 깨져 나오는 경우가 있습니다. 이 문제를 해결하는 방법을 알아봅니다. Git 설정을 변경하거나, 혹은 PowerShell 설...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.