Go Wiki:GoStrings

字串不需要為 UTF-8。Go 原始碼需要為 UTF-8。兩者之間有一條複雜的途徑。

簡而言之,有下列三種字串。

  1. 字串常數中,來源的子字串。
  2. 字串常數。
  3. 字串型別的值。

只有第一種需要是 UTF-8。第二種需要以 UTF-8 編寫,但其內容以各種方式詮釋,且可能編碼任意位元組。第三種可以包含任何位元組。

試用於

var s string = "\xFF語"

來源子字串:"\xFF語",UTF-8 編碼。資料

22
5c
78
46
46
e8
aa
9e
22

字串常數:\xFF語(引號之間)。資料

5c
78
46
46
e8
aa
9e

字串值(無法列印;這是 UTF-8 串流)。資料

ff
e8
aa
9e

記錄一下,字元(碼點)

<erroneous byte FF, will appear as U+FFFD if you range over the string value>
語 U+8a9e

此內容是 Go Wiki 的一部分。