2013-02-06 2 views
0

다음과 같은 문자가 있습니다. char[] str = "\xe7a"; 이스케이프 처리 된 유니 코드 char []을 NSString으로 바꿈

은 유니 코드를 파이썬으로 탈출에 "CA"로 변환 한 결과입니다 .encode('unicode-escape')

그것은 내가 "CA"다시 ...하지만 난 찾을 수 없습니다로 변환하기 위해 노력하고있어 IOS에 도착하면 그것을 할 올바른 방법.

\ x 이스케이프 된 문자를 iOS 기능을 사용하여 적절한 문자로 변환하려면 어떻게해야합니까?

str = [[NSString alloc] initWithBytes:m.param5 length:STRING_PARAM_LENGTH encoding:NSASCIIStringEncoding] UTF8String]; 

str = [[NSString alloc] initWithBytes:m.param5 length:STRING_PARAM_LENGTH NSUTF8StringEncoding]; 

이 가 가

뿐만 아니라

어떤 아이디어가 작동하지 않습니다

str = [NSString stringWithUTF8String:m.param5]; 
작동하지 않습니다 작동하지 않는 이유는 무엇입니까? \xe7 가정

+0

CFStringTransform에 대해 생각해 볼 수 있습니다. 확인 [이] (http://stackoverflow.com/questions/2099349/using-objective-c-cocoa-to-unescape-unicode-characters-ie-u1234/11615076#11615076) –

답변

2

너무 ... 바이트, 문자 배열이 윈도우 1252/ISO-8859-1로서 부호화된다 0xe7을 의미

NSString *string = [NSString stringWithCString:str encoding:NSISOLatin1StringEncoding]; 

내용이 그대로 슬래시 경우 x, e, 그리고 7이라면 위의 코드를 실행하기 전에 실제 의미있는 바이트 값 으로 변환해야합니다.

+1

안녕! 답장을 보내 주셔서 감사합니다. 이전에 \ xe7을 실제 묵시적 바이트로 바꾸려면 어떻게해야합니까? –

관련 문제