여기에 약간의 도움을주세요, 대신 유니 코드 (NSUnicodeStringEncoding)를 사용합니다. 당신이 NSStringEncoding
이 옵션이 표시됩니다 표시되는 경우
(이상이) :
enum {
NSWindowsCP1253StringEncoding = 13, /* Greek */
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */
NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */
};
typedef NSUInteger NSStringEncoding;
당신은 특정 그리스어 lenguage 볼 수 있습니다
: 인이 작동하지 않는 경우 NSWindowsCP1253StringEncoding
것은, 당신이 사용하려고 할 수 있습니다 다른 UTF16 또는 UTF32. 하지만 유니 코드가 당신을 위해 일한다고 생각합니다.
- 편집
NSLog(@"%s",string);
은 유니 코드 문자를 해독 할 수없는 마음에
가져 가라. 그래서, 정말 엉망이 될 것입니다.
작동하는지 테스트하려면 변환을 수행하고 다시 실행하십시오. 동일하면 데이터를 잃어 버리지 않습니다.
const char *cLetter = (const char *)[letter cStringUsingEncoding:NSUnicodeStringEncoding];
NSString *original = [NSString stringWithCString:cLetter encoding:NSUnicodeStringEncoding];
문자열에 'π'문자를 사용하는 경우 해당 코드에 문제가 없습니다. –
그리스어 문자열을 UItextField에 삽입 할 때 아무런 문제가 없습니다. 내 문제는 const char 변환을 할 때 최종 문자열에 쓰레기가 있습니다! –