Строка Swift ASCII не работает, но работает в Objective-CIOS

Программируем под IOS
Anonymous
Строка Swift ASCII не работает, но работает в Objective-C

Сообщение Anonymous »

Я конвертирую код из Objective-C в Swift, и у меня есть очень простая функция, которая считывает текст из файла в строку.

Код: Выделить всё

@implementation DecodeFile
- (NSString * _Nullable)readFile:(nonnull NSURL *)selectedFile {
NSString *utf8 = [[NSString alloc] initWithContentsOfURL:selectedFile encoding:NSUTF8StringEncoding error:nil];
if (utf8) { return  utf8; }
NSString *ascii = [[NSString alloc] initWithContentsOfURL:selectedFile encoding:NSASCIIStringEncoding error:nil];
if (ascii) { return  ascii; }

return nil;
}
@end
Если utf8 не удается, он пытается использовать ascii. Это работает отлично, но моя реализация Swift дает сбой с ASCII-файлом, который успешно использует Obj-C!

Код: Выделить всё

print(try? String(contentsOf: selectedFile, encoding: .utf8)) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79333775/swift-ascii-string-fails-but-works-in-objective-c[/url]

Вернуться в «IOS»