- 如下图所示,我们定义str1,用sizeof查看其字节数为5 = 3 + 1+ 1

- 做切片操作,奇怪的事情出现了:
-
str1[1] = '∀'; str1[4] = ' '; str1[5] = 'b' -
str1[2]会报错ERROR: StringIndexError("∀ b", 2),`str1[3]也是如此
-
而计算字符的字节数,结果也很奇怪:
sizeof('∀') = 4; sizeof(' ') = 4; sizeof('b') = 4

- 困惑主要有以下几点:
-
做字符串切片操作的时候,为什么不是按字符(Char)编号,而是按字节(byte),这样不是会给切片操作带来诸多问题吗。
-
sizeof(char::Char)返回的为什么不是字节数,返回的4又是什么;我也未找到sizeof(char::Char)调用的generic function



