Go Wiki: Go 字串
字串不強制要求是 UTF-8 編碼。Go 原始碼必須是 UTF-8 編碼。兩者之間有一個複雜的路徑。
簡而言之,有三種字串。它們是:
- 詞法分析成字串字面量的原始碼子串。
- 字串字面量。
- 字串型別的值。
只有第一種字串被要求是 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 的一部分。