golang 格式化打印-utf-8编码规则

栏目: Go · 发布时间: 7年前

内容简介:将Unicode编码597D转化为UTF-8编码可以看到utf-8编码是

示例程序

func main() {
    var s byte = '?'
    fmt.Println(s) //63
    //输出 2/8/10 进制格式
    fmt.Printf("%b,%o,%d\n", s, s, s) // 111111,77,63
    // 以16进制输出字符串
    fmt.Printf("%x\n", "hex this")
    // 输出数值所表示的 Unicode 字符
    fmt.Printf("%c\n", 63)
    //输出数值所表示的 Unicode 字符(带单引号)。对于无法显示的字符,将输出其转义字符。
    fmt.Printf("%q\n", 63)
    //输出 Unicode 码点(例如 U+1234,等同于字符串 "U+%04X" 的显示结果)
    fmt.Printf("%U\n", 63)
}

汉字字符集编码查询

http://www.qqxiuzi.cn/bianma/zifuji.php

在线进制转换

https://tool.lu/hexconvert/

在线Unicode和UTF编码转换

https://www.qqxiuzi.cn/bianma/Unicode-UTF.php

UTF-8编码规则

https://blog.csdn.net/sandyen/article/details/1108168

编码示例

func main() {
    var s rune = '好'
    fmt.Printf("%d\n",s) // 22909
    buf := bytes.NewBufferString("hello")
    fmt.Println(buf.Bytes()) // [104 101 108 108 111]
    buf.WriteRune(s)
    fmt.Println(buf.Bytes()) // [104 101 108 108 111 229 165 189]
}
什么 会写入三个字节? [229 165 189]

我们先看看 的编码方式

http://tool.oschina.net/hexconvert
golang 格式化打印-utf-8编码规则
golang 格式化打印-utf-8编码规则
golang 格式化打印-utf-8编码规则

将Unicode编码597D转化为UTF-8编码

golang 格式化打印-utf-8编码规则

可以看到utf-8编码是 E5A58D ,这是十六进制的,我们转为为10进制

golang 格式化打印-utf-8编码规则

我们要的是字节数组,所以需要将 11100101 10100101 10111101 拆成字节,然后再转化成10进制显示。

golang 格式化打印-utf-8编码规则
golang 格式化打印-utf-8编码规则
golang 格式化打印-utf-8编码规则

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

奇点系列

奇点系列

彼得•蒂尔、里德•霍夫曼、本•霍洛维茨、埃里克•杰克逊等 / 高玉芳、路蒙佳、杨晓红、徐彬等 / 中信出版社 / 2015-6-20 / 182.00

1.硅谷创投教父、PayPal创始人彼得•蒂尔、LinkedIn创始人里德•霍夫曼、创业导师本•霍洛维茨、“PayPal黑帮”初创成员埃里克•杰克逊联合作品。 2.彼得•蒂尔与埃隆•马斯克的首次交锋,PayPal从0到1改变全球金融的生死突围,商业硬汉的创业史诗,揭秘“PayPal黑帮”的创业维艰与联盟关系。 3.《人民日报》推荐创业者必读书目!“奇点系列”的作者们以及“PayPal黑......一起来看看 《奇点系列》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具