ホームページ >バックエンド開発 >Golang >Go で Unicode コードポイントを文字に変換するにはどうすればよいですか?

Go で Unicode コードポイントを文字に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 19:01:10210ブラウズ

How to Convert Unicode Code Points to Characters in Go?

Go で Unicode コード ポイントを文字に変換する

テキスト ファイルを操作する場合、文字が Unicode コード ポイントとしてエンコードされる状況が発生することがあります。 。これらの文字をリテラル形式で表示するには、コード ポイントを文字に変換する必要があります。

この特定の例では、Unicode コード ポイントを含むテキスト ファイルがあります:

\u0053
\u0075
\u006E

これらのコード ポイントを対応する文字に変換したいとします:

S
u
n

この変換を実現するには、strconv.Unquote() を利用できます。

strconv.Unquote() の使用

文字列が引用符で囲まれている場合は、strconv.Unquote() を使用できます。ただし、コード ポイントに引用符を自分で追加する必要があります。

lines := []string{
    `\u0053`,
    `\u0075`,
    `\u006E`,
}

for i, v := range lines {
    var err error
    lines[i], err = strconv.Unquote(`"` + v + `"`)
    if err != nil {
        fmt.Println(err)
    }
}

Using strconv.UnquoteChar()

文字列が単一のルーンを表す場合、 strconv.UnquoteChar() の方が適しています。引用符は必要ありません:

runes := []string{
    `\u0053`,
    `\u0075`,
    `\u006E`,
}

for _, v := range runes {
    var err error
    value, _, _, err := strconv.UnquoteChar(v, 0)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Printf("%c\n", value)
}

コード ポイントを変換すると、次の出力が得られます:

S
u
n

以上がGo で Unicode コードポイントを文字に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。