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

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

内容简介:将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编码规则

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

查看所有标签

猜你喜欢:

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

图论导引

图论导引

韦斯特 / 机械工业出版社 / 2006-2 / 65.00元

图论起源于著名的哥尼斯堡七桥问题,在计算科学、社会科学和自然科学等各个领域都有广泛应用。本书是本科生或研究生一学期或两学期的图论课程教材。内容全面,证明与应用实例并举,不仅包括对证明技巧的讨论、1200多道习题、400多幅插图以及许多例题,而且对所有定理都给出了详细完整的证明。可以作为高等院校数学系本科生和研究生、计算机专业和其他专业研究生的图论课程教材,也可以作为有关教师和工程技术人员的参考书。......一起来看看 《图论导引》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

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

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具