我想知道表情符号是否存在,并替换为字符串(HTML unicode).(到字符串)

例如,这是一个句子

"我喜欢你,哈哈哈???? 你好"

这就是结果.

"我喜欢你哈哈哈,你好."

表情符号和表情符号位置是随机的.


我将在下面的代码中使用上面的代码.

    import "golang.org/x/text/encoding/korean"

    strings_with_emoji = "我喜欢你,哈哈哈???? 你好"
    var euckrEnc = korean.EUCKR.NewEncoder()
    euckrSubject, err := euckrEnc.String(strings_with_emoji)

表情符号没有任何价值.

所以我得到的错误是ERRO[0002]编码:编码不支持符文.

推荐答案

我们可以将字符串转换为[]rune,并将每个符文转换为ASCII或HTML实体

package main

import (
    "log"
    "strconv"
)

func main() {
    inp := "i like you hahahah ???? hello."

    res := ""
    runes := []rune(inp)
    
    for i := 0; i < len(runes); i++ {
        r := runes[i]
        if r < 128 {
            res += string(r)
        } else {
            res += "&#" + strconv.FormatInt(int64(r), 10) + ";"
        }
    }

    log.Printf("result html string: %v", res)
}

Go相关问答推荐

有没有更简单的方法在Go中编写这个逻辑?

Go编译器标志-修剪路径不完全工作

如何在定制普罗米修斯出口商中测试动态计量注册?

ChromeDriver不存在(高朗selenium)

Go Regexp:匹配完整的单词或子字符串,或者根本不匹配

如何使用Gio设置标题栏图标

在nixos上找不到XInput2.h头文件的包

什么东西逃到了堆里?

如何创建在responseWriter.Write 上返回错误的http.ResponseWriter 模拟实例?

从 ApiGateway 中的 lambda Go 返回 Json

我应该先解锁然后再广播吗?

Golang:如何在不转义每个动作的情况下呈现模板的模板?

从单词中删除特殊字符

Gorm 预加载给出了模糊的列错误

为什么import和ImportSpec之间可以出现多行注释,而PackageName和ImportPath之间不能出现?

如何从 tinygo webassembly 目标返回对象

如何在测试中传递用户名和密码等参数

防止在 Go 公用文件夹中列出目录

如何从应用程序调用谷歌云身份 API

Beego - 我需要context.Context而不是 Beego 上下文