1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 04:22:22 +00:00

ch1-03: utf8, 向前改为向后, 表示已经处理过的字符

This commit is contained in:
chai2010 2018-07-24 20:37:46 +08:00
parent c36e10a31c
commit f579a9f087

View File

@ -212,7 +212,7 @@ fmt.Println("\xe7\x95\x8c") // 打印: 界
Go语言的字符串中可以存放任意的二进制字节序列而且即使是UTF8字符序列也可能会遇到坏的编码。如果遇到一个错误的UTF8编码输入将生成一个特别的Unicode字符\uFFFD这个字符在不同的软件中的显示效果可能不太一样在印刷中这个符号通常是一个黑色六角形或钻石形状里面包含一个白色的问号<E58FB7>
下面的字符串中我们故意损坏了第一字符的第二和第三字节因此第一字符将会打印为“<EFBFBD>第二和第三字节则被忽略后面的“abc”依然可以正常解码打印错误编码不会向扩散是UTF8编码的优秀特性之一
下面的字符串中我们故意损坏了第一字符的第二和第三字节因此第一字符将会打印为“<EFBFBD>第二和第三字节则被忽略后面的“abc”依然可以正常解码打印错误编码不会向扩散是UTF8编码的优秀特性之一
```go
fmt.Println("\xe4\x00\x00\xe7\x95\x8cabc") // <20>界abc