Swift 官方博客发布了 Swift 5 将首选字符串编码从 UTF-16 切换到 UTF-8 的音讯,同时保留与 Objective-C 有效的互操作性。由于 String 类型会对这些底层成绩停止笼统,所以开发者不需求对源代码停止更改。
切换到 UTF-8 完成了 String 的长期目的之一 —— 完成高功用处置,这也是关注功用的开发者呼声最大的央求。更重要的是,该功用还为未来提供更高功用的 API 奠定了基础。字符串的首选编码将会成为影响 Swift ABI 功用的一部分,因此这次在 Swift 5 版本中为了 ABI 的波动性而完成该功用是势在必行的。
背景虽然 String 类型在技术上是同一个结构,但它可以以多种方式存在。我们不妨将 String 视为手工枚举,运用传统的 bit-twiddling 技术手工制造,以生成紧凑而高效的代码。
由上图可以看到,Swift 5 之前,字符串内容以 UTF-16 和 ASCII 两种方式存储。出于与现代计算环境的高效兼容性、简化相关操作以及对功用提升的思索,Swift 决议在 Swift 5 中运用 UTF-8 作为首选字符串编码。
对现有的影响按照官方说法,在代码层面,这个变动对大少数开发者的影响不大,并且依然会提供与 Objective-C API 的高效互操作性。
【编辑引荐】
华为自研操作系统官宣了,但怎样才能真的成功?
李笑来登GitHub趋向榜第一:币圈大佬的鸡汤编程指南
一文通知你如何全方位监控Linux系统状况
华为做操作细叱备用 但谷歌其实不敢将Android私有化
微软越来越接近开发一个适用的DNA数据存储系统
(责任编辑:admin)