[英]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.