swift - 如何将 Int8 转换为字符?

标签 swift

我需要将 Int8 转换为 Character。我该怎么做?

我尝试使用 UnicodeScalar

var result += Character(UnicodeScalar(data[i]))

...但是出现了这个错误:

Cannot invoke initializer for type 'UnicodeScalar' with an argument list of type (Int8)

最佳答案

Unicode.Scalar 可以用某些类型的参数初始化,您可以在 docs 中找到这些参数.

我建议您使用 init(_:)它采用 UInt8 告诉给定数字是正数(这是创建 UnicodeScalar 所必需的)。因此,您可以尝试将 Int8 转换为 UInt8,然后您的初始化程序采用正确类型的参数

let int: Int8 = data[i]
if let uint = UInt8(exactly: int) {
    let char = Character(UnicodeScalar(uint))
}

关于swift - 如何将 Int8 转换为字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55383682/

相关文章:

ios - init 的 Swift 协议(protocol)扩展自引用问题

ios - AWS dynamodb 查询大多数时候崩溃

ios - 'UICollectionViewCell' 没有名为 'image' [Swift] 的成员

ios - 结果排序示例 Swift 未出现在 Playground 中

ios - 应用程序后台时是否可以开始播放音频并使其他人静音?

swift - 设置页脚 View UITableView 的背景颜色不起作用

ios - 将 json 数据发送到单独的类并显示在 tableView 上

ios - 无法在单例类中初始化 CGFloat

ios - Metal 中的片段着色器和顶点着色器

ios - SwiftUI vs Interface Builder 和 Storyboard