rune 与 byte类型转换时是否需要重新分配内存呢?
首先了解下两者的定义
- rune是一个int32的别名,通常用来处理unicode或utf8字符
- byte等同于int8,常用来处理字符
|
|
可以看到rune与byte的存储不同的,所以rune与byte相互想换必然伴随着内存分配
如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码。
需要注意的是,Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储
互联网的普及,强烈要求出现一种统一的编码方式。UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。重复一遍,这里的关系是,UTF-8 是 Unicode 的实现方式之一
unicode=>utf8流程
首先找到字符对应的unicode编码,然后根据utf8存储规则进行转换