假如拿到了一个字节切片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。

因此应该先确定是哪种编码,指定编码的类型,然后再选择转换的方式。

最新文章

  1. git clone出现的error: The requested URL returned error: 401 Unauthorized
  2. Android6.0动态申请权限
  3. 如何获取配置文件Web.config的AppSetting节点数据
  4. Java Io 之 编码
  5. [20160704]Addition program that use JOptionPane for input and output
  6. 关于Java异常和错误的几个问题
  7. RouterOS的MikroTik脚本从DNS更新IPSEC端的IP地址
  8. java 命令行制定logback参数
  9. Oracle 11g R2安装手册(图文教程)For Windows
  10. Android PopupWindow显示位置和显示大小
  11. iOS开展——全球应对MotionEvent
  12. [转]解决MySQL出现大量unauthenticated user的问题
  13. 利用angular打造管理系统页面
  14. (扩展根目录容量方法汇总)把Linux系统迁移到另一个分区或者硬盘
  15. JS5模拟类
  16. FFMPEG在windows平台编译的详细过程,包括环境安装
  17. C++编写ATM
  18. python学习笔记(4)
  19. Spring Boot默认Initializer(1)——ConfigurationWarningsApplicationContextInitializer
  20. 以太坊abi

热门文章

  1. WPF 用户控件的自定义依赖属性在 MVVM 模式下的使用备忘
  2. 11-C#笔记-函数-方法
  3. 面向对象高级C(元类补充及单例模式)
  4. Leecode之双指针及二分查找
  5. 第05组 Beta冲刺(3/4)
  6. [PHP] windows下tee指令
  7. p1842 奶牛玩杂技 题解
  8. Java 集合系列之六:工具类Collections和Arrays基本操作
  9. [Gamma阶段]展示博客
  10. Gamma阶段项目展示