将单个 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
有 属性 delimiter
是 char
。如果我尝试打印它或使用它来拆分路径:
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
.
我正在尝试在我的 Swift 项目中使用 MailCore2 (Objective C)。
目前,我尝试从服务器检索所有 IMAP 文件夹(到目前为止可行)并按分隔符拆分路径。
INBOX.Sent
INBOX.Drafts
至
INBOX
> Sent
> Drafts
Class MCOIMAPFolder
有 属性 delimiter
是 char
。如果我尝试打印它或使用它来拆分路径:
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
的别名。您可以使用
let delim = String(UnicodeScalar(UInt8(bitPattern: folder.delimiter)))
这会将给定的 char
解释为范围内的 Unicode 值
0 ... 255
并将其转换为 String
.