2014-02-27 53 views

回答

4

,我要在這裏貼上一個答案,我在魯斯特的版(Subreddit)得到的,由erickt,希望它可以給別人有用:

我們這樣做的原因是因爲str爲一個Unicode字符串,以及底層存儲是實現細節的事實 。在迭代字符串中的東西時,有很多方法可以使用 。首先,你可以通過 遍歷字節,這就是你用ImmutableVector得到的結果。 但是,這些字節不對應於字符,因爲strs是 UTF8,多個字節可能構成一個字符。但後來有更多的選擇 。有些語言可以將兩個字符組合爲一個,如此類推。國際化是複雜的。 I 會建議查看此鏈接,該鏈接詳細說明了有關此主題的 。

+2

Python已經犯了這個錯誤,混合了字節和str的概念。在Python 3中,他們通過將unicode字符串的概念清晰地分爲內部未編碼格式和字節作爲原始值數組(可能是任何編碼(或根本不是字符串))來解決它。 – 2014-02-28 09:39:38

相關問題