url - Golang 如何将 punycode 转换为 unicode?

标签 url go unicode import package

我想转换 url f.e.:

xn--h1aaebtrh5b.xn--p1ai --> кисточки.рф

当然还有反过来:

kremlin.ru ---> xn--d1abbgf6aiiy.xn--p1ai

我尝试使用idna 包,但我无法导入 vendor 包idna

Link在文档上: https://godoc.org/golang.org/x/net/idna#Profile.ToUnicode

尝试导入:

import "golang_org/x/net/idna"

获取错误:

main.go:18:8: cannot find package "golang_org/x/net/idna" in any of:
    /usr/local/go/src/golang_org/x/net/idna (from $GOROOT)
    /home/arseny/go/src/golang_org/x/net/idna (from $GOPATH)

另一个尝试:

import "vendor/golang_org/x/net/idna"

错误:

main.go:18:8: must be imported as golang_org/x/net/idna

main.go:19:2: use of vendored package not allowed

最佳答案

有人说这段代码行得通

在 bash 中:

go get golang.org/x/net/idna

示例代码:

package main

import (
    "fmt"
    "golang.org/x/net/idna"
)

var p *idna.Profile

func main() {
    // Raw Punycode has no restrictions and does no mappings.
    p = idna.New()
    fmt.Println(p.ToUnicode("xn--d1abbgf6aiiy.xn--p1ai"))
}

但我仍然希望存在另一种方式。我不喜欢将包的本地副本复制到 $GOROOT 路径中。

关于url - Golang 如何将 punycode 转换为 unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45084301/

相关文章:

java - 在 Java GUI 中使用 Unicode 字符安全吗?

javascript - 将用户重定向到编码的 URL 变量

android - 在内部存储中保存和获取图像 url

google-app-engine - GAE Go - 如何将私有(private)变量放入数据存储区?

go - 如何使用golang过滤给定数据中的元素?

docker - Golang dep 不下载所有库文件

python - 从 CSV 中写入/读取特殊字符(Python 3.6)

database - UTF-8 和 ISO 8859-9

javascript - 如何在 JavaScript 中将页面重定向到自身?

java - 引用的 URL 显示为 null(Java、JSP)