将单个 c 字符转换为 swift 中的字符串

convert a single c char to string in swift

我正在尝试在我的 Swift 项目中使用 MailCore2 (Objective C)。

目前,我尝试从服务器检索所有 IMAP 文件夹(到目前为止可行)并按分隔符拆分路径。

INBOX.Sent
INBOX.Drafts

INBOX
 > Sent
 > Drafts

Class MCOIMAPFolder 有 属性 delimiterchar。如果我尝试打印它或使用它来拆分路径:

print("\(folder.delimiter)\n")
var components = folder.path.componentsSeparatedByString(String.init(folder.delimiter))
for component in components {
    print("\(component)\n")
}

它将打印

46
INBOX.Sent

我在这里能找到的最接近的是 Converting a C char array to a String 但这似乎只适用于 char[] 而不是一个 char.

那我错过了什么?

C 类型 char 映射到 Swift 作为 CChar,这是 Int8 的别名。您可以使用

从单个 C 字符创建 Swift 字符串
let delim = String(UnicodeScalar(UInt8(bitPattern: folder.delimiter)))

这会将给定的 char 解释为范围内的 Unicode 值 0 ... 255 并将其转换为 String.