JSON 결과를 가져 와서 개체를 표 셀로 구문 분석하는 응용 프로그램을 작성하고 있습니다. 공상적인 것은 아니지만 내 결과에서 많은 용어/이름은 유럽어로 è 또는 ú와 같은 문자가 \ u00E9 또는 \ u00FA로 나옵니다. 나는 이것들이 ASCII라고 생각한다? 또는 유니 코드? (나는 결코 staight를 유지할 수 없다). 어쨌든, 모든 좋은 NSSTring 's처럼, 나는 이것을 고치는 방법이 있어야한다고 생각했다. 그러나 나는 그것을 발견하지 않고있다. ... 어떤 생각? 나는 이와 같은 일을 피하려고 노력하고있다 : this posting. 모두에게 감사드립니다.JSON 결과의 유럽 문자 서식 지정
1
A
답변
1
, 이러한 유니 코드 문자입니다가. 그리고 당신이 사용할 수있는 NSString 메서드는 + stringWithContentsOfURL입니다. 또는 + stringWithContentsOfFile. 예 :
NSError *error;
NSString *incoming = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://sender.org"] encoding:NSUnicodeStringEncoding error:&error];
0
그래서 유니 코드 이스케이프 시퀀스에 대해 이야기하고 있습니다. 문자 코드 일 뿐이며 printf 스타일 '% C'을 사용하여 변환 할 수 있습니다.
NSScanner 아마이 작업을 수행하는 좋은 방법이 될 것입니다 ... 여기 (EW)에서 균열의 : kaizer.se 지적
NSString* my_json = @"{\"key\": \"value with \\u03b2\"}";
NSMutableString* clean_json = [NSMutableString string];
NSScanner* scanner = [NSScanner scannerWithString: my_json];
NSString* buf = nil;
while (! [scanner isAtEnd]) {
if (! [scanner scanUpToString: @"\\u" intoString: &buf])
break;//no more characters to scan
[clean_json appendString: buf];
if ([scanner isAtEnd])
break;//reached end with this scan
[scanner setScanLocation: [scanner scanLocation] + 2];//skip the '\\u'
unsigned c;
if ([scanner scanHexInt: c])
[clean_json appendFormat: @"%C", c];
else
[clean_json appendString: @"\\u"];//nm
}
// 'clean_json' is now a string with unicode escape sequences 'fixed'
관련 문제
- 1. 서식 지정 문자
- 2. String.Format에 서식 지정 문자 삽입?
- 3. 직렬 출력에서 문자 서식 지정!
- 4. 모든 유럽 언어와 러시아어 키릴 문자
- 5. Vim의 중앙 유럽 문자 인쇄 문제
- 6. 사용자 지정 숫자 서식 지정
- 7. msgbox를 사용하여 조건부 서식 지정 Excel에서 조건부 서식 지정
- 8. VBA로 조건부 서식 또는 서식 지정
- 9. 보기 서식 파일 출력 서식 지정
- 10. JavaScript에서 날짜 서식 지정
- 11. PHP IMAP 서식 지정
- 12. 텍스트 상자 서식 지정
- 13. 차트의 캡션 서식 지정
- 14. PHP 날짜() 서식 지정
- 15. Netbeans : PhpDoc 서식 지정
- 16. 자바에서 문자열 서식 지정
- 17. 빌드시 코드 서식 지정
- 18. PHP로 텍스트 서식 지정
- 19. JSF에서 double 서식 지정
- 20. AdvancedDataGrid 셀 서식 지정
- 21. 선 너비 서식 지정
- 22. preg_replace를 사용하여 서식 지정
- 23. MySQL : 문자열 서식 지정
- 24. Excel 파일 서식 지정
- 25. DateTime 서식 지정 레일
- 26. 콘솔에 서식 지정, C++
- 27. 코드로 수식 서식 지정?
- 28. JXMapKit지도 서식 지정 도움말
- 29. Ruby로 줄 서식 지정
- 30. 문자열에서 날짜 서식 지정
유니 코드. 기억하는 데 도움이된다면 이스케이프 코드에서 "u"를보십시오. 또한 ASCII는 0-127이므로 0xFA는 이미 ASCII 외부에 있습니다. – u0b34a0f6ae
문자열 자체를 이스케이프 처리하지 않고, 기존의 Objective-C 기반 JSON 라이브러리를 사용하여 깨끗한 API를 사용하여 이러한 종류의 문제를 처리 할 생각인가? Google의 첫 번째 히트 (예 : http://code.google.com/p/json-framework/)를 사용하면 다음과 같은 작업을 수행 할 수 있습니다. NSDictionary * dict = [myStringContainingJSONData JSONValue]; 및 주 응용 프로그램 소스는 형식 문제를 구문 분석하거나 인코딩 할 필요가 없습니다. –
감사합니다 크리스토퍼,이 프레임 워크를 사용하고 있지만 답변이 아닙니다. – mlecho