gpt4 book ai didi

swift - 为什么 Swift 的 String API 中包含 unicode 作为编码?

转载 作者:行者123 更新时间:2023-11-29 05:26:02 24 4
gpt4 key购买 nike

我读了这个very important blog regarding string encodings .

读完后我意识到 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 没有提供如何存储它的详细信息。

谁能告诉我我在这里错过了什么?我现在真的很困惑。

最佳答案

String.Encoding.unicodeString.Encoding.utf16

相同
print(String.Encoding.unicode)
print(String.Encoding.utf16)

以上打印:

  • Unicode (UTF-16)
  • Unicode (UTF-16)

关于swift - 为什么 Swift 的 String API 中包含 unicode 作为编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58163732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com