NSString.toString возвращает строку с нулевым символом в конце - PullRequest
0 голосов
/ 04 октября 2018

В Nativescript у меня есть плагин, который использует методы NSString, и я хочу вернуть строку JavaScript.Если я запускаю nsstringInstance.toString(), я получаю строку JavaScript с нулевым символом в конце.Я могу обойти это, удалив все символы \ 0 из конца строки.Есть ли лучший способ сделать это?

function base64_decode(base64string) {
    let nsdata = NSData.alloc().initWithBase64EncodedStringOptions(base64string, opts);
    return NSString.alloc().initWithDataEncoding(nsdata, NSUTF8StringEncoding).toString();
}

Я могу исправить это с помощью этого

let decoded = base64_decode("SOME BASE64 STRING").replace(/\0+$/,'');

Это единственный способ, или есть метод NSString для возврата UTF-8 строка, которая не заканчивается нулем?

1 Ответ

0 голосов
/ 04 октября 2018

.toString() не является допустимым методом в экземпляре NSString.Попробуйте .UTF8String

...