[英]Why is unicode included as an Encoding in Swift's String API?
我读了这个非常重要的有关字符串编码的博客 。
阅读后,我意识到unicode是将字符映射到整数的代码点的标准。 这些整数如何存储在内存中是一个完全不同的概念。 这就是.utf8
和.utf16
发挥作用的地方,它定义了我们将这些整数存储在内存中的方式。
在Swift String
API中,有一种方法可以为我们提供用于以各种编码表示String
的数据字节:
func data(using encoding: String.Encoding, allowLossyConversion: Bool = false) -> Data?
此方法的第一个参数是String.Encoding
类型。 此结构Encoding
的编码声明为:
static let unicode: String.Encoding
现在突然之间,该方法可以使用编码.unicode
给我String
数据表示.unicode
现在,这实际上与我阅读上述博客后得出的结论相反。 它为我提供了字符串的数据表示形式,甚至以为unicode并没有为我提供如何存储它的详细信息。
有人可以告诉我我在这里想念什么吗? 我现在真的很困惑。
String.Encoding.unicode
与String.Encoding.utf16
相同
print(String.Encoding.unicode)
print(String.Encoding.utf16)
上面的照片:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.