为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:如何从 C 正确解析 UTF-8 字符串

Golang:如何从 C 正确解析 UTF-8 字符串

Go
饮歌长啸 2021-11-08 19:13:01
我是围棋世界的新手,所以也许这很明显。我有一个 Go 函数,我用go build -buildmode=c-shared相应的//export funcName注释将它暴露给 C。(你可以在这里看到它:https : //github.com/udl/bmatch/blob/master/ext/levenshtein.go#L42)我的转换目前是这样工作的:func distance(s1in, s2in *C.char) int {     s1 := C.GoString(s1in)     s2 := C.GoString(s2in)我将如何处理 UTF-8 输入?我看到有一个 UTF-8 包,但我不太明白它是如何工作的。https://golang.org/pkg/unicode/utf8/
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

你不需要做任何特别的事情。UTF-8 是 Go 的“本机”字符编码,因此您可以使用utf8您提到的包中的函数,例如utf8.RuneCountInString获取字符串中 Unicode 符文的数量。请记住,它len(s)仍将返回字符串中的字节数。



查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 232 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信