golang unicode编码
时间: 2023-05-29 14:05:23 浏览: 296
Unicode是一种字符编码标准,用于将字符集中的每个字符映射到唯一的数字值。Go语言内置支持Unicode编码,包括UTF-8、UTF-16和UTF-32编码。
在Go语言中,可以使用rune类型来表示Unicode字符,它实际上是int32类型的别名。可以使用单引号来表示一个字符,例如:
```go
var ch rune = '我'
fmt.Printf("字符 %c 的Unicode编码是 %U\n", ch, ch)
```
输出结果:
```
字符 我 的Unicode编码是 U+6211
```
可以使用strconv包中的函数将字符串转换为Unicode编码的rune切片,例如:
```go
str := "Hello, 世界"
runes := []rune(str)
for i := 0; i < len(runes); i++ {
fmt.Printf("%c 的Unicode编码是 %U\n", runes[i], runes[i])
}
```
输出结果:
```
H 的Unicode编码是 U+0048
e 的Unicode编码是 U+0065
l 的Unicode编码是 U+006C
l 的Unicode编码是 U+006C
o 的Unicode编码是 U+006F
, 的Unicode编码是 U+002C
的Unicode编码是 U+0020
世 的Unicode编码是 U+4E16
界 的Unicode编码是 U+754C
```
需要注意的是,使用range遍历字符串时,得到的是UTF-8编码的字节切片,而不是Unicode字符。如果需要处理Unicode字符,请先将字符串转换为rune切片。例如:
```go
str := "Hello, 世界"
for _, ch := range str {
fmt.Printf("%c 的Unicode编码是 %U\n", ch, ch)
}
```
输出结果:
```
H 的Unicode编码是 U+0048
e 的Unicode编码是 U+0065
l 的Unicode编码是 U+006C
l 的Unicode编码是 U+006C
o 的Unicode编码是 U+006F
, 的Unicode编码是 U+002C
的Unicode编码是 U+0020
世 的Unicode编码是 U+4E16
界 的Unicode编码是 U+754C
```
阅读全文
相关推荐


















