我復(fù)制并粘貼了這兩個(gè)字符串(一個(gè)來自 Google Doc,一個(gè)來自終端)——到底發(fā)生了什么?我該如何清理它們以使它們相同?package mainimport "fmt"func main() { fmt.Println([]byte("f6f77482e4394a21815b7090bc0185b4")) fmt.Println([]byte("f6f77482-e439-4a21-815b-7090bc0185b4"))}返回:[102 54 102 55 55 52 56 50 101 52 51 57 52 97 50 49 56 49 53 98 55 48 57 48 98 99 48 49 56 53 98 52][102 54 102 55 55 52 56 50 194 173 101 52 51 57 194 173 52 97 50 49 194 173 56 49 53 98 194 173 55 48 57 48 98 99 48 49 56 53 98 52]對于同一個(gè)字符串,這顯然是兩個(gè)不同的字節(jié)數(shù)組。https://play.golang.org/p/_zd7tjqCZl
2 回答

慕俠2389804
TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
第二個(gè)在可見字符之間有許多“軟連字符”(U+00AD)字符,第一個(gè)出現(xiàn)在“482”和“e4”之間。軟連字符是不可見的字符,除非它碰巧位于換行符的位置,然后它顯示為連字符。您是否從文字處理器或其他可能對其應(yīng)用了特殊文本格式的程序中復(fù)制粘貼了代碼?

拉風(fēng)的咖菲貓
TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
問題是第二個(gè)有 4 個(gè) Unicode 軟連字符0+00ad,它們不能在操場上打印。
你實(shí)際上在做什么基本上類似于......
fmt.Println([]byte("f6f77482e4394a21815b7090bc0185b4"))
fmt.Println([]byte("f6f77482--e439--4a21--815b--7090bc0185b4"))
這是粘貼到 vim 中的樣子
- 2 回答
- 0 關(guān)注
- 351 瀏覽
添加回答
舉報(bào)
0/150
提交
取消