golang中uint8字节切片转字符串
假如拿到了一个字节切片test1 = {'a', 'b', 'c', 'd', 11}
package main
import (
"fmt"
"reflect"
)
func main(){
test1 := []byte {'a', 'b', 'c', 'd', 11}
fmt.Println(test1)
test2 := string(test1)
fmt.Println(test2)
fmt.Println(reflect.TypeOf(test1[0]))
return
}
打印的结果
[97 98 99 100 11]
abcd
uint8
这其实就是ASCII码值与英文ASCII字符的互转。ASCII的码值本质上就是uint8类型。 留意一下11对应的是垂直制表符(控制字符), 因此打印出来是看起来是乱码的 “”这个。
对于ASCII码表,应该能简单的记忆一些常用的,有时候比较方便。 参考: http://asciima.com/
这篇博客主要是记录今天遇到的一个Bug: 在用sring对字节序列进行强转时,报了一个不是uint8的错误。
我的解释:
字节 --> 字符串
的转换过程,本质上是字节解码的过程。 这bug的原因应该是该字节不是纯粹的uint8类型,它不是ASCII码,它有可能是utf-8的编码或者别的如GBK。
因此应该先确定是哪种编码,指定编码的类型,然后再选择转换的方式。
golang中uint8字节切片转字符串的更多相关文章
- golang中字符串-字节切片,字符串-字符切片的互转
package main import ( "fmt" "reflect" ) func B2S(bs []uint8) string { // 将字节切片转换 ...
- [日常] Go语言圣经-字节切片与字符串
1.一个字符串是一个不可改变的字节序列2.文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列3.内置的len函数可以返回一个字符串中的字节数目4.第i个字节并不一定是字符串的第 ...
- golang中数组与切片的区别
初始化:数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变 数组: a := [...],,} a := [],,} 切片: a:= [],,} a := make([]) a := m ...
- golang中的字符串
0.1.索引 https://waterflow.link/articles/1666449874974 1.字符串编码 在go中rune是一个unicode编码点. 我们都知道UTF-8将字符编码为 ...
- golang中结构体标签在json中的应用
package main import ( "encoding/json" "fmt" "reflect" ) type Movie str ...
- golang中获取字符串长度的几种方法
一.获取字符串长度的几种方法 - 使用 bytes.Count() 统计 - 使用 strings.Count() 统计 - 将字符串转换为 []rune 后调用 len 函数进行统计 ...
- golang中字符串的底层实现原理和常见功能
1. 字符串的底层实现原理 package main import ( "fmt" "strconv" "unicode/utf8" ) f ...
- golang中的字符串拼接
go语言中支持的字符串拼接的方法有很多种,这里就来罗列一下 常用的字符串拼接方法 1.最常用的方法肯定是 + 连接两个字符串.这与python类似,不过由于golang中的字符串是不可变的类型,因此用 ...
- 在Java中按字节获得字符串长度的三种方法
转载:http://www.blogjava.net/nokiaguy/archive/2010/04/11/317982.html 由于Java是基于Unicode编码的,因此,一个汉字的长度为1, ...
随机推荐
- CSS实现常用组件特效(不依赖JS)
我们已经习惯用 JavaScript 实现常见的 UI 功能组件,如手风琴.工具提示.文本截断等.但是随着 HTML 和 CSS 新特性的推出,不用再支持旧浏览器,我们可以越来越少用 JavaScri ...
- luoguP4197:Peaks(Kruskal重构树+主席树)或者(点分树+离线)
题意:有N座山,M条道路.山有山高,路有困难值(即点权和边权).现在Q次询问,每次给出(v,p),让求从v出发,只能结果边权<=p的边,问能够到达的山中,第K高的高度(从大到小排序). 思路:显 ...
- gitlab的搭建和使用(转)
工作当中常用的GitHub比较好用,但是安全性不是太强,因为github完全开源的,安全性不高 有空搞一下,先记录几个博客 https://yq.aliyun.com/articles/44531 h ...
- PAC、KNN和GridSearchCV
PCA PCA主要是用来数据降维,将高纬度的特征映射到低维度,具体可学习线性代数. 这里,我们使用sklearn中的PCA. from sklearn.decomposition import PCA ...
- 第05组 团队Git现场编程实战
一.组员职责分工 组员 分工 卢欢(组长) 前后端接口设计 严喜 寻找相关资料 张火标 设计并描述界面原型 钟璐英 编写随笔 周华 填写完善文档 古力亚尔·艾山 填写完善文档 张聪 前后端接口设计 池 ...
- [RN] React Native 使用 阿里 ant-design
React Native 使用 阿里 ant-design 实例效果如图: 一.安装 npm install antd-mobile-rn --save npm install babel-plugi ...
- [算法模版]Link-Cut-Tree
[算法模版]Link-Cut-Tree 博主懒本博客只对现有博客进行补充,先直接放隔壁链接. FlashHu-LCT总结 Menci-LCT学习笔记 make-root操作 make-root操作用于 ...
- MHA+keepalived集群环境搭建
整个MHA+keepalived集群环境搭建 1.1. 环境简介1.1.1.vmvare虚拟机,系统版本CentOS6.5 x86_64位最小化安装,mysql的版本5.7.21,1.1.2.虚拟机器 ...
- 20165214 2018-2019-2 《网络对抗技术》Exp8 Web基础 Week11—12
<网络对抗技术>Exp8 Web基础 Week11-12 一.实验目标与内容 1.实践内容 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与P ...
- 【Gamma】Scrum Meeting 6
前言 会议定点:大运村公寓 会议时间:2019/6/4 会议目的:明确测试中出现的bug 一.任务进度 组员 上周任务进度 下阶段任务 大娃 优化代码注释质量 修复后端bug 二娃 撰写会议博客 撰写 ...