go - 为什么将单个字节类型转换为字符串在 go 中不起作用?
问题描述
我正在尝试将单个字节值转换为 golang 中的字符串。当我将字节类型转换为字符串string(byte)
并打印我得到"{"
的响应值时。我读了其他答案,将字节转换为字符串的正确方法是strconv.Itoa(int(bytevalue))
. 为什么前者不起作用,为什么后一种方法是正确的。
解决方案
该表达式string(bytevalue)
是转换,而不是类型转换。规范说明了从数字类型到字符串的转换:
将有符号或无符号整数值转换为字符串类型会生成一个包含整数的 UTF-8 表示形式的字符串。
该表达式的string(byte(123))
计算结果为字符串"{"
,因为 {
它是包含符文 123 的 UTF-8 表示的字符串。
使用 strconv 包获取字节的十进制表示。该表达式的strconv.Itoa(int(byte(123)))
计算结果为字符串"123"
。
推荐阅读
- java - 为什么扫描仪不读取我调用程序的第一行?
- android - 错误:E2564 找不到程序“C:\bin\JarSigner.exe”
- python - 从 bash 脚本运行多个 Python 脚本时将 Python 脚本加载到内存中
- sql - 如何使用 LIKE 列中的值 - Postgresql
- django - 如何在 httpd.conf 中阻止 IP 地址
- python - cv2.ORB.detectAndCompute 退出 python
- c++ - 初始化函数指针的 constexpr 数组
- swift - 设计可观察对象
- r - R闪亮基于使用反应的条件输入读取特定的csv文件
- python-3.x - 如何找到元音在字符串输入中的位置并将它们打印在输出中?