為什么十六進制格式的西里爾字符串與十六進制格式的西里爾字符不同?str := "Э"fmt.Printf("%x\n", str)//result d0ad str := 'Э'fmt.Printf("%x\n", str)//result 42d
1 回答

嗶嗶one
TA貢獻1854條經(jīng)驗 獲得超8個贊
打印 a 的十六進制表示string
打印其字節(jié)的十六進制表示,打印 a 的十六進制表示打印rune
它作為別名的數(shù)字的十六進制表示(rune
is an alias to int32
)。
Go 中的sstring
保存文本的UTF-8編碼字節(jié)序列。在 UTF-8 表示中,數(shù)字代碼 > 127 的字符(符文)具有多字節(jié)表示。
在 UTF-8 中具有rune
Э
多字節(jié)表示(即[208, 173]
),它與 32 位整數(shù)的多字節(jié)表示不同1069 = 0x42d
。整數(shù)在內(nèi)存中使用二進制補碼表示。
- 1 回答
- 0 關(guān)注
- 424 瀏覽
添加回答
舉報
0/150
提交
取消