字符字面量
字符字面量必须使用单引号括起来’’,Go 中的字符完全兼容 utf8。
1 |
|
unicode和utf-8的区别
unicode 是一种字符集,而 utf-8 是一种以 unicode 字符集为基础的编码格式
utf-8编码是怎么算的
UTF-8 的编码规则如下:
- 1 字节:0xxxxxxx(0-127)
- 2 字节:110xxxxx 10xxxxxx(128-2047)
- 3 字节:1110xxxx 10xxxxxx 10xxxxxx(2048-65535)
- 4 字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx(65536 及以上)
比如说小写字母 a,转为 unicode 为U+61
,对应的 utf-8 编码为61
比如说汉字 亚,转为 unicode 为U+4E9A
,十进制是20122
,二进制1001101000111010
,通过规定好的填充方法填充二进制,即 utf-8 编码为E9
A8
BA
utf-8,utf-16,utf-32的区别
编码方式 | 单元大小 | 空间效率 | 主要用途 |
---|---|---|---|
UTF-8 | 1 个字节 | 高效(对拉丁字符) | 适合拉丁字符(如英语),网页和文件存储 |
UTF-16 | 2 个字节 | 中等(对非拉丁字符高效) | Windows API、Java、JavaScript(内部处理) |
UTF-32 | 4 个字节 | 低效 | 图形和文本处理库 |
编码一个字符 a:
utf-8 61
(1 个字节)
utf-32 00
00
00
61
(4 个字节)
字符串字面量
字符串字面量必须使用双引号””括起来或者反引号(反引号字符串不允许转义),而且双引号中可以识别 unicode
1 |
|