英文:
How to convert a slice of 4 bytes to a rune? In Go
问题
我有一个rune的内存表示
key := make([]byte, 4)
现在,如何将它转换为一个rune?
英文:
I have the in-memory representation of a rune
key := make([]byte, 4)
Now, how to convert it to a rune?
答案1
得分: 7
有一个专门的DecodeRune函数:
> func DecodeRune(p []byte) (r rune, size int)
>
> DecodeRune函数解析p中的第一个UTF-8编码,并返回该符文及其字节宽度。
> 如果编码无效,则返回(RuneError, 1),这是正确的UTF-8的不可能结果。
所以你只需要导入"unicode/utf8"
并执行以下操作:
r, _ := utf8.DecodeRune(key)
英文:
There is a dedicated DecodeRune function :
> func DecodeRune(p []byte) (r rune, size int)
>
> DecodeRune unpacks the
> first UTF-8 encoding in p and returns the rune and its width in bytes.
> If the encoding is invalid, it returns (RuneError, 1), an impossible
> result for correct UTF-8.
So you just have to import "unicode/utf8"
and do
r, _ := utf8.DecodeRune(key)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论