目录

基本认知

将字符串转为字节切片

将字节切片转为字符串

性能


基本认知

在字符串和字节切片(数组)之间进行转换时,会得到一个全新的切片,其中包含与字符串相同的字节,反之亦然。

  • 转换不会修改数据
  • 唯一的区别是字符串是不可变的,而字节片可以修改

如果需要操纵字符串的 rune ,则可能需要将字符串转换为 rune 切片,

更多细节请看这篇文章 《golang runes 字符串 互转》 https://blog.csdn.net/whatday/article/details/109775355

将字符串转为字节切片

将字符串转换为字节切片时,会得到一个新的切片,其中包含与字符串相同的字节。

b := []byte("ABC€")
fmt.Println(b) // [65 66 67 226 130 172]
复制代码

请注意,字符 € 是使用 3 个字节的 UTF-8 编码的。有关 Unicode 码位的 UTF-8 编码的更多信息,请参阅关于 rune 的这篇文章。

将字节切片转为字符串

当您将字节的一部分转换为字符串时,您将获得一个新的字符串,其中包含与该片段相同的字节。

s := string([]byte{65, 66, 67, 226, 130, 172})
fmt.Println(s) // ABC€
复制代码

性能

这些转换将创建一个新的切片或字符串,因此时间复杂度与处理的字节数成正比。

golang 字节切片 数组 字符串 互转相关推荐

  1. golang struct 切片数组去重

    目录 实例1 实例2 适配多个切片类型 实例1 type Fts_message_table_content_nomal struct {Docid int64 `xorm:"docid&q ...

  2. Go切片转字符串发生了啥

    在Go语言中,字节切片和字符串的转换非常丝滑.但是你有没有想过,在强制类型转换的过程中都发生了什么,有没有内存拷贝?本文将为你解开这两个问题的答案. 有没有发生内存拷贝是很容易证明的一件事,我们可以通 ...

  3. pandas 字符串切片后保存_我擦~字符串转字节切片后,切片的容量竟然千奇百怪...

    以下文章来源于新世界杂货铺 ,作者许文 新世界杂货铺 作为一名Gopher, 我愿称之为Go的干(杂)货铺子! 神奇的现象 切片, 切片, 又是切片! 今天遇到的神奇问题和切片有关, 具体怎么个神奇法 ...

  4. Java byte数组与十六进制字符串互转

    Java byte数组与十六进制字符串互转 博客分类: Java Javajava 十六进制java hex Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64 ...

  5. Go 学习笔记(9)— 循环(for、for range访问数组、切片、字符串和通道、goto、continue、break)

    1. for 循环格式 Go 语言仅支持一种循环语句即 for 循环,它有 3 种形式,只有其中的一种使用分号. 和 C 语言的 for 一样 for init; condition; post { ...

  6. python中numpy数组和字符串互转(互转后数据完全一致)

    python中numpy数组和字符串互转(互转后数据完全一致) 代码: import numpy as np # 创建数组arr arr = np.array([ -1.8264365 , -0.63 ...

  7. golang runes 字符串 互转

    目录 字符串转runes runes转字符串 性能 字符串转runes 将字符串转换为 rune 切片时,会得到一个新的切片,其中包含字符串的 Unicode 码位( runes ) 对于无效的 UT ...

  8. golang切片转为字符串,字符串转切片

    golang切片转为字符串,字符串转切片 package mainimport ("fmt""strings" )func main() {s := []str ...

  9. 软件的基本是要处理好”算法“及其基础(一)流-字-字符(包括某个数字、字母、符号和某个汉字等)-字符串-字节动态数组-字节-整数之间的转化关系和算法

    目录 软件的基本是要处理好"算法"及其基础(一): 流->计算机字->字符(包括某个数字.字母.符号和某个汉字等)->字符串->字节动态数组->字节- ...

最新文章

  1. ccf 高速公路(顺便当tarjan模板)
  2. python题目关于企业利润_【每日一练】巧用python实现利润计算
  3. linux访问网页元素,Linux_DOM和JAVASCRIPT访问页面上的元素,访问方法:getElementById() - phpStudy...
  4. Android--Genymotion虚拟机(模拟器)的配置
  5. AI:Algorithmia《2020 state of enterprise machine learning—2020年企业机器学习状况》翻译与解读
  6. c语言pta按等级统计学生成绩,第九周作业
  7. 计算机科学学院陈瑜,浙江大学城市学院计算机与计算科学学院 计算机科学与技术 陈则伦...
  8. .net post xml 数据
  9. mysql 备份成文件的脚本_Mysql自动全量备份脚本
  10. Unity3D-射线效果
  11. oracle函数,查询,事务
  12. mysql.sock 路径_关于mysql.sock路径的问题
  13. C语言半框,如何挑选适合自己的镜框(镜片)?
  14. python贴吧签到-基于Python3+Requests的贴吧签到助手
  15. drawio 二次开发
  16. C# 中国大陆二代身份证号生成及格式验证
  17. [读论文]CVPR2019: Occupancy Networks: Learning 3D Reconstruction in Function Space
  18. 网络安全——渗透综合实验
  19. 怎样为人处事的原则和方法
  20. 网络1711班 C语言第四次作业批改总结

热门文章

  1. js动态生成div和事件
  2. RamDisk加速Windows 7?
  3. 使用 Amazon Cloud WAN 构建您的全球网络
  4. EdgeGallery — MEP — 安装部署
  5. 用 Flask 来写个轻博客 (16) — MV(C)_Flask Blueprint 蓝图
  6. Altium Designer 规则设置Advance(Query)的使用
  7. 【瞎写代码】系列之redux表面理解
  8. Ubuntu 16.04安装QtCharts时报错:'qtConfig' is not a recognized test function.
  9. tomcat和nginx的使用
  10. Linux网络属性配置相关命令