go - Golang unicode 字符值
问题描述
我运行此代码并获得输出,但为什么字节值是 E4B8AD 而 int 值是 20013。为什么第 2 列不等于第 5 列?
包主
import(
"fmt"
)
func main(){
str2 := "中文"
fmt.Println("index int(rune) rune char bytes")
for index, rune := range str2{
fmt.Printf("%-2d %d %U '%c' %X\n", index, rune, rune, rune, []byte(string(rune)))
}
}
输出是:
index int(rune) rune char bytes
0 20013 U+4E2D '中' E4B8AD
1 25991 U+6587 '文' E69687
解决方案
推荐阅读
- java - 如何在 Hadoop 中获得最大字数?
- android - Google Playstore 发布 - 为 OTP 自动读取选择哪个用例?
- google-apps-script - Google Apps 脚本从 getPlainBody() 中找到 URL?
- sql - BigQuery SQL 查询优化
- node.js - Nunjucks:如何使用自定义扩展绕过自动转义?
- python - rpyc服务器调用客户端方法
- reactjs - 在 React 中显示初始加载的加载屏幕
- python - pandas - 如何将聚合数据转换为字典
- java - 当我单击回收站视图中的项目时,我可以使用导航抽屉作为下拉菜单吗?
- php - 错误请求 400。jQuery Ajax 数据 serialize() 或 json 应该是什么样子?