1.字符是怎么存储的
- 数字怎么存(一一对应)
一个bit是一个盒子,可以放0或1
8个bit一组是一个字节,有256种组合方式
两个字节(16bit)有65536种组合
几种组合就对应几种数字,整数可以直接对应
- 字符怎么办(字符集)
字符集促成了 字符
与 二进制
的合作
- 字符集太多怎么办
不同的映射关系—->不同的字符集
不统一,而且不能不能表示所有字符
后来推出了 Unicode
字符集
- 有了字符集,怎么划分二进制呢
每个字符对应的二进制长度不一样,合在一起怎么划分边界呢
怎么办?高位补零!大家都按照最长的算
方案:
定长编码
定长编码浪费内存
变长编码
需要借助UTF8
- String是什么样的结构
C语言:
Go说不行
声明一个变量 var str ="hello"
这里str占两个字符(16bit)
- 修改问题
可以这样读取:
s1[0]
但是不能s1[0]=’A’修改
摆脱字符串无法修改:
强转为slice
slice如何限制修改:
unsafe包