首页 > 解决方案 > NSString.toString 返回以 null 结尾的字符串

问题描述

在 Nativescript 中,我有一个使用 NSString 方法的插件,我想返回一个 javascript 字符串。如果我运行,nsstringInstance.toString()我会得到一个以 null 结尾的 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 字符串?

标签: iosnsstringnativescriptnull-terminated

解决方案


.toString()NSString在实例中不是有效的方法。尝试.UTF8String


推荐阅读