Go修改字符串中的字符(中⽂乱码)问题复现:修改字符串的第⼀个中⽂
先对原字符串做切⽚,然后进⾏拼接,得到新的字符串
func ModifyString(str string) string {
tempStr := str[1:]
str = "⼤" + tempStr
return str
}
func main(){
ret := ModifyString("你好世界")
fmt.Println(ret)
}
运⾏效果:
⼤��好世界
切⽚默认是根据 byte 进⾏切割的,中⽂是 3 个 byte 组成,导致上⾯残留两个多余的 byte
解决⽅法:
那么在切⽚时指定 3 个 byte 尝试下:
func ModifyString(str string) string {
tempStr := str[3:]
str = "⼤" + tempStr
return str
}
运⾏效果:
求一段乱七八糟的乱码符号
⼤好世界
另外⼀种⽅式:
步骤:
1. 先把字符串变成字符数组
2. 然后通过数组改变索引对应的值
3. 然后将数组转成新的字符串
func ModifyString(str string) string {
strArray := []rune(str)
strArray[0] = '⼤'
str = string(strArray)
return str
}
运⾏效果:
⼤好世界

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。