TODO:字节的那点事Go篇
TODO:字节的那点事Go篇 (本文go version go1.7.3 darwin/amd64) 在Golang中string底层是由byte数组组成的。
输出的长度是6
输出的长度是3
输出的长度是4 所以用string存储unicode的话,如果有中文(中文是由3个字节组成 ),按下标是访问不到的,因为你只能得到一个byte。 要想访问中文的话,还是要用rune切片,这样就能按下标访问。
为什么要做UTF-8转码?很大语言直接支持UTF-8,部分语言存储字符串到内存时直接使用 UTF-8编码。UTF-8是一个通用解决方案,一直有人维护。例如Golang语言就直接支持UTF-8。 接下来我们来看看Golang是怎么处理UTF-8转码,如图 输出: 为什么fmt.Println(StrToByte(“??”))输出[11]呢?由先了解到byte到范围是0~256,22283对256取余为11。 在Golang中就是这样使用UTF-8,你是否注意到其中到使用细节呢。 wxgzh:ludong86 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |